diff --git a/business/jxcallback/orderman/fake_jd_order.go b/business/jxcallback/orderman/fake_jd_order.go index f712ec9d7..ed6735434 100644 --- a/business/jxcallback/orderman/fake_jd_order.go +++ b/business/jxcallback/orderman/fake_jd_order.go @@ -42,7 +42,7 @@ func (c *OrderManager) notifyNewFakeJdOrder(order *model.GoodsOrder) (err error) realStoreID = storeDetail.LinkStoreID } notifyWxNewFakeJdOrder(order, realStoreID) - netprinter.PrintOrderByOrder4Store(jxcontext.AdminCtx, order, realStoreID, "") + netprinter.PrintOrderByOrder4Store(jxcontext.AdminCtx, order, realStoreID, "", nil) return err } diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index bfc1868cf..7489ea24a 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -392,7 +392,7 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool, isAut if order.Flag&model.OrderFlagMaskFake == 0 { utils.CallFuncAsync(func() { // order = setFakeActualPayPrice(order) - netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder) + netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder, nil) //目前暂且认为AdjustCount > 0 就是调整单 if order.AdjustCount > 0 { weixinmsg.NotifyAdjustOrder(order) @@ -503,7 +503,7 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod // 京西云打印机打印数据-如果门店使用京西打印机才使用如下代码块 store, err := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode) if err == nil && store.PrinterVendorID == model.VendorIDJxprint { - netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder) + netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder, nil) } } } @@ -1697,7 +1697,7 @@ func (s *DefScheduler) notifyNewOrder(order *model.GoodsOrder, isAuto bool) { if order.Flag&model.OrderFlagMaskFake == 0 && order.VendorID != model.VendorIDEBAI { utils.CallFuncAsync(func() { // order = setFakeActualPayPrice(order) - netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder) + netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder, nil) //目前暂且认为AdjustCount > 0 就是调整单 if order.AdjustCount > 0 { weixinmsg.NotifyAdjustOrder(order) diff --git a/business/jxcallback/scheduler/defsch/defsch_afs.go b/business/jxcallback/scheduler/defsch/defsch_afs.go index d49b1a405..a762a2935 100644 --- a/business/jxcallback/scheduler/defsch/defsch_afs.go +++ b/business/jxcallback/scheduler/defsch/defsch_afs.go @@ -44,7 +44,7 @@ func (s *DefScheduler) OnAfsOrderNew(order *model.AfsOrder, isPending bool) (err if err2 != nil { return err } - netprinter.PrintOrderByOrder(jxcontext.AdminCtx, orderObj, model.PrintAfsOrder) + netprinter.PrintOrderByOrder(jxcontext.AdminCtx, orderObj, model.PrintAfsOrder, order) } } diff --git a/business/jxutils/netprinter/netprinter.go b/business/jxutils/netprinter/netprinter.go index 20764764f..dccbd3449 100644 --- a/business/jxutils/netprinter/netprinter.go +++ b/business/jxutils/netprinter/netprinter.go @@ -40,13 +40,13 @@ func PrintOrder(ctx *jxcontext.Context, vendorOrderID string, vendorID int) (pri order.StoreID = storeID order.JxStoreID = storeID } - printResult, err = PrintOrderByOrder(ctx, order, "order") + printResult, err = PrintOrderByOrder(ctx, order, "order", nil) } return printResult, err } -func PrintOrderByOrder(ctx *jxcontext.Context, order *model.GoodsOrder, printType string) (printResult *partner.PrinterStatus, err error) { - return PrintOrderByOrder4Store(ctx, order, jxutils.GetSaleStoreIDFromOrder(order), printType) +func PrintOrderByOrder(ctx *jxcontext.Context, order *model.GoodsOrder, printType string, afs *model.AfsOrder) (printResult *partner.PrinterStatus, err error) { + return PrintOrderByOrder4Store(ctx, order, jxutils.GetSaleStoreIDFromOrder(order), printType, afs) } func getStore4Print(db *dao.DaoDB, storeID int) (store *model.Store, err error) { @@ -71,7 +71,7 @@ func getStore4Print(db *dao.DaoDB, storeID int) (store *model.Store, err error) } // PrintOrderByOrder4Store 打印订单信息 -func PrintOrderByOrder4Store(ctx *jxcontext.Context, order *model.GoodsOrder, storeID int, printType string) (printResult *partner.PrinterStatus, err error) { +func PrintOrderByOrder4Store(ctx *jxcontext.Context, order *model.GoodsOrder, storeID int, printType string, afs *model.AfsOrder) (printResult *partner.PrinterStatus, err error) { globals.SugarLogger.Debugf("PrintOrderByOrder4Store orderID:%s", order.VendorOrderID) db := dao.GetDB() store, err := getStore4Print(db, storeID) @@ -91,7 +91,7 @@ func PrintOrderByOrder4Store(ctx *jxcontext.Context, order *model.GoodsOrder, st } } - printResult, err = handler.PrintOrder(ctx, store, storeDetail, order, printType) + printResult, err = handler.PrintOrder(ctx, store, storeDetail, order, printType, afs) if err == nil { dao.SetOrderPrintFlag(db, ctx.GetUserName(), order.VendorOrderID, order.VendorID, true) } diff --git a/business/partner/partner_printer.go b/business/partner/partner_printer.go index f0b177393..dbfdd42ab 100644 --- a/business/partner/partner_printer.go +++ b/business/partner/partner_printer.go @@ -62,7 +62,7 @@ type IPrinterHandler interface { BindPrinter(ctx *jxcontext.Context, mapData map[string]interface{}) (bindResult *BindPrinterResult, err error) RebindPrinter(ctx *jxcontext.Context, lastBindResult *BindPrinterResult) (bindResult *BindPrinterResult, err error) - PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *PrinterStatus, err error) + PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, asfOrder *model.AfsOrder) (printerStatus *PrinterStatus, err error) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, vendorId int) (printerStatus *PrinterStatus, err error) PrintCancelOrRefundOrder(ctx *jxcontext.Context, printType int, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *PrinterStatus, err error) diff --git a/business/partner/printer/feie/feie.go b/business/partner/printer/feie/feie.go index cceab9bda..8fa8da3c3 100644 --- a/business/partner/printer/feie/feie.go +++ b/business/partner/printer/feie/feie.go @@ -251,7 +251,7 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, printerSN, pri return printerStatus, err } -func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *partner.PrinterStatus, err error) { +func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, asfOrder *model.AfsOrder) (printerStatus *partner.PrinterStatus, err error) { globals.SugarLogger.Debugf("feie PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID) if len(order.Skus) == 0 { return diff --git a/business/partner/printer/jxprint/jxprint.go b/business/partner/printer/jxprint/jxprint.go index 9f297fbdc..bb30803d3 100644 --- a/business/partner/printer/jxprint/jxprint.go +++ b/business/partner/printer/jxprint/jxprint.go @@ -238,15 +238,13 @@ func (c *PrinterHandler) getOrderContentByTemplate(order *model.GoodsOrder, stor return "" } -func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *partner.PrinterStatus, err error) { +func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, afs *model.AfsOrder) (printerStatus *partner.PrinterStatus, err error) { globals.SugarLogger.Debugf("jxprint PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID) - if storeDetail.PrinterVendorID != model.VendorIDJxprint { - return nil, nil - } + if len(order.Skus) == 0 { return } - printData := ManagerOrderPrint(order, store.Tel1, storeDetail) + printData := ManagerOrderPrint(order, store.Tel1, storeDetail, printType, afs) //printData[BigFont] = "small" //if store.PrinterFontSize == partner.PrinterFontSizeBig || store.PrinterFontSize == partner.PrinterFontSizeBig2 { // printData[BigFont] = "big" diff --git a/business/partner/printer/jxprint/jxprint_const.go b/business/partner/printer/jxprint/jxprint_const.go index 00d64185b..52558b73c 100644 --- a/business/partner/printer/jxprint/jxprint_const.go +++ b/business/partner/printer/jxprint/jxprint_const.go @@ -63,7 +63,7 @@ type SkuListPrintOrder struct { } // ManagerOrderPrint 京西云参数组装(订单参数) -func ManagerOrderPrint(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) map[string]string { +func ManagerOrderPrint(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail, printType string, afsOrder *model.AfsOrder) map[string]string { printOrder := make(map[string]string, 0) skuList := make([]*SkuListPrintOrder, 0, 0) // 获取品牌名称 @@ -122,6 +122,12 @@ func ManagerOrderPrint(order *model.GoodsOrder, storeTel string, storeDetail *da printOrder[RiderName] = bill.CourierName printOrder[RiderPhone] = bill.CourierMobile } + if printType == "afs" { + printOrder[AfsOrderStatus] = utils.Int2Str(afsOrder.Status) + printOrder[RejectionReason] = afsOrder.VendorReasonType + printOrder[AfsOrderStatus] = utils.Int2Str(afsOrder.Status) + printOrder[CustcareRefundReason] = afsOrder.ReasonDesc + } return printOrder } diff --git a/business/partner/printer/xiaowm/xiaowm.go b/business/partner/printer/xiaowm/xiaowm.go index 6ec3ec472..d163d5f19 100644 --- a/business/partner/printer/xiaowm/xiaowm.go +++ b/business/partner/printer/xiaowm/xiaowm.go @@ -292,7 +292,7 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, printerNumber, return printerStatus, err } -func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *partner.PrinterStatus, err error) { +func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, asfOrder *model.AfsOrder) (printerStatus *partner.PrinterStatus, err error) { globals.SugarLogger.Debugf("xiaowm PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID) var content string if isV500(store.PrinterSN) { diff --git a/business/partner/printer/yilianyun/yilianyun.go b/business/partner/printer/yilianyun/yilianyun.go index 360dced3f..8515e3eb0 100644 --- a/business/partner/printer/yilianyun/yilianyun.go +++ b/business/partner/printer/yilianyun/yilianyun.go @@ -395,7 +395,7 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, machineCode, p return printerStatus, err } -func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *partner.PrinterStatus, err error) { +func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, asfOrder *model.AfsOrder) (printerStatus *partner.PrinterStatus, err error) { globals.SugarLogger.Debugf("yilianyun PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID) if len(order.Skus) == 0 { return diff --git a/business/partner/printer/zhongwu/zhongwu.go b/business/partner/printer/zhongwu/zhongwu.go index 78cf43e51..b7ea976eb 100644 --- a/business/partner/printer/zhongwu/zhongwu.go +++ b/business/partner/printer/zhongwu/zhongwu.go @@ -219,7 +219,7 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, deviceID, devi return printerStatus, err } -func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *partner.PrinterStatus, err error) { +func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, asfOrder *model.AfsOrder) (printerStatus *partner.PrinterStatus, err error) { globals.SugarLogger.Debugf("zhongwu PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID) content := "" if store.PrinterFontSize == partner.PrinterFontSizeBig { diff --git a/business/partner/purchase/jd/store.go b/business/partner/purchase/jd/store.go index 6395df866..ca338b158 100644 --- a/business/partner/purchase/jd/store.go +++ b/business/partner/purchase/jd/store.go @@ -3,6 +3,7 @@ package jd import ( "fmt" "git.rosy.net.cn/jx-callback/business/jxstore/event" + "git.rosy.net.cn/jx-callback/business/jxutils/netprinter" "strings" "time" @@ -334,6 +335,9 @@ func (c *PurchaseHandler) OnStoreMsg(vendorOrgCode string, msg *jdapi.CallbackOr vendorStoreID := msg.BillID if storeStatus, err = c.GetStoreStatus(jxcontext.AdminCtx, vendorOrgCode, 0, vendorStoreID); err == nil { err = partner.CurStoreManager.OnStoreStatusChanged(vendorStoreID, model.VendorIDJD, storeStatus) + + storeDetail, _ := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), vendorStoreID, model.VendorIDEBAI, "") + netprinter.PrintStoreStatus(jxcontext.AdminCtx, storeDetail, model.VendorIDMTWM, -9) } else { // 可能在门店删除的情况下会出查不到门店的错误 if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 4 { diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 5ba93357d..8e8f7d1f9 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -560,7 +560,7 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) { //如果是物料的订单,直接到拣货完成,配送中的状态 if order.OrderType != model.OrderTypeNormal { if order.OrderType != model.OrderTypeDefendPrice { - netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder) + netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder, nil) } PickupGoods(order, false, "jxadmin") } else {