From 737a7f3387ce72b44932be9695ab5216a842ffb1 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 18 Sep 2019 14:09:19 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E8=AE=A2=E5=8D=95=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E4=B8=AD=E5=8A=A0=E8=BD=BD=E8=AE=A2=E5=8D=95=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E6=8A=8Asku=E9=83=BD=E5=8A=A0=E8=BD=BD=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 940e733dd..39037d83b 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -161,6 +161,7 @@ func (c *OrderManager) OnOrderStatusChanged(orderStatus *model.OrderStatus) (err if err == nil { dao.Commit(db) if !isDuplicated { + order.Skus = c.loadOrderSku(db, order.VendorOrderID, order.VendorID) _ = scheduler.CurrentScheduler.OnOrderStatusChanged(order, orderStatus, false) } } else { @@ -480,8 +481,17 @@ func (c *OrderManager) addOrderStatus(orderStatus *model.OrderStatus, db *dao.Da return isDuplicated, order, err } +func (c *OrderManager) loadOrderSku(db *dao.DaoDB, vendorOrderID string, vendorID int) (orderSkus []*model.OrderSku) { + utils.CallFuncLogError(func() (err error) { + _, err = db.Db.QueryTable("order_sku").Filter("vendor_order_id", vendorOrderID).Filter("vendor_id", vendorID).All(&orderSkus) + return err + }, "loadOrderSku orderID:%s", vendorOrderID) + return orderSkus +} + func (c *OrderManager) loadOrder(vendorOrderID, vendorOrderID2 string, vendorID int) (order *model.GoodsOrder, err error) { - db := orm.NewOrm() + db1 := dao.GetDB() + db := db1.Db order = &model.GoodsOrder{ VendorOrderID: vendorOrderID, VendorOrderID2: vendorOrderID2, @@ -498,10 +508,7 @@ func (c *OrderManager) loadOrder(vendorOrderID, vendorOrderID2 string, vendorID } if err = db.Read(order, keyFields...); err == nil { vendorOrderID = order.VendorOrderID - err = utils.CallFuncLogError(func() error { - _, err = db.QueryTable("order_sku").Filter("vendor_order_id", vendorOrderID).Filter("vendor_id", vendorID).All(&order.Skus) - return err - }, "LoadOrder orderID:%s", vendorOrderID) + order.Skus = c.loadOrderSku(db1, vendorOrderID, vendorID) } if err != nil { order = nil