From 42b1c9ac17f060f3e2b3aefbc92cbbb2b33e5803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 5 Aug 2020 10:03:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BF=AE=E6=94=B9=E5=BA=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 21 +++++++++++++++++++-- business/jxstore/cms/store_sku.go | 2 ++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index fb4790d23..01573b88e 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -313,7 +313,7 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao } //修改商品库存 if err == nil { - err = modifySkusStock(order, true) + err = modifyOrderSkusStock(db, order, false) } } else { globals.SugarLogger.Warnf("saveOrder create order:%v, error:%v", order, err) @@ -324,7 +324,24 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao return isDuplicated, err } -func modifySkusStock(order *model.GoodsOrder, isAdd bool) (err error) { +func modifyOrderSkusStock(db *dao.DaoDB, order *model.GoodsOrder, isAdd bool) (err error) { + skus := order.Skus + for _, sku := range skus { + storeSkus, _ := dao.GetStoresSkusInfo(db, []int{jxutils.GetSaleStoreIDFromOrder(order)}, []int{sku.SkuID}) + if len(storeSkus) == 0 { + globals.SugarLogger.Warnf("此订单商品没得storsku,%v,%v", order.VendorOrderID, sku.SkuID) + continue + } + storeSku, stock := storeSkus[0], 0 + if isAdd { + stock = storeSku.Stock + 1 + } else { + stock = storeSku.Stock - 1 + } + storeSku.Stock = stock + dao.UpdateEntity(db, storeSku, "Stock") + dao.SetStoreSkuSyncStatus(db, order.VendorID, []int{}, []int{}, model.SyncFlagStockMask) + } return err } diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 1da32c89d..623ed0be7 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4789,3 +4789,5 @@ func StoreSkuPriceAudit(ctx *jxcontext.Context, storeSkuAudits []*model.StoreSku } return nil, hint, err } + +