订单修改库存
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -4789,3 +4789,5 @@ func StoreSkuPriceAudit(ctx *jxcontext.Context, storeSkuAudits []*model.StoreSku
|
||||
}
|
||||
return nil, hint, err
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user