订单修改库存
This commit is contained in:
@@ -313,7 +313,7 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao
|
|||||||
}
|
}
|
||||||
//修改商品库存
|
//修改商品库存
|
||||||
if err == nil {
|
if err == nil {
|
||||||
err = modifySkusStock(order, true)
|
err = modifyOrderSkusStock(db, order, false)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Warnf("saveOrder create order:%v, error:%v", order, err)
|
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
|
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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4789,3 +4789,5 @@ func StoreSkuPriceAudit(ctx *jxcontext.Context, storeSkuAudits []*model.StoreSku
|
|||||||
}
|
}
|
||||||
return nil, hint, err
|
return nil, hint, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user