From 3d2c8f422263cdc290bca84ac74fce7606fefb65 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 6 Feb 2020 17:32:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E4=BE=9D=E8=B5=96LinkStoreID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/netprinter/netprinter.go | 26 ++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/business/jxutils/netprinter/netprinter.go b/business/jxutils/netprinter/netprinter.go index 84d8f85d0..b4c72f2f1 100644 --- a/business/jxutils/netprinter/netprinter.go +++ b/business/jxutils/netprinter/netprinter.go @@ -49,12 +49,32 @@ func PrintOrderByOrder(ctx *jxcontext.Context, order *model.GoodsOrder) (printRe return PrintOrderByOrder4Store(ctx, order, jxutils.GetSaleStoreIDFromOrder(order)) } +func getStore4Print(db *dao.DaoDB, storeID int) (store *model.Store, err error) { + for i := 0; i < 3; i++ { + store2 := &model.Store{} + store2.ID = storeID + if err = dao.GetEntity(db, store2); err == nil { + store = store2 + if store.LinkStoreID != 0 { + storeID = store.LinkStoreID + } else { + break + } + } else { + break + } + } + if store != nil { + err = nil + } + return store, err +} + func PrintOrderByOrder4Store(ctx *jxcontext.Context, order *model.GoodsOrder, storeID int) (printResult *partner.PrinterStatus, err error) { globals.SugarLogger.Debugf("PrintOrderByOrder4Store orderID:%s", order.VendorOrderID) - store := &model.Store{} - store.ID = storeID db := dao.GetDB() - if err = dao.GetEntity(db, store); err == nil { + store, err := getStore4Print(db, storeID) + if err == nil { handler, err := GetHandlerFromStore(store) if err != nil { return &partner.PrinterStatus{