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