1
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
|
||||
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
|
||||
"math"
|
||||
"strconv"
|
||||
@@ -456,7 +457,7 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao
|
||||
// 宠物会出现美团多门店对应京西一个门店的库存数,即同一老板开多家店,单只有一个库存门店,
|
||||
// 所以不同门店同一品牌,最终商品库存只扣除门店ID最小的商品库存(最早创建门店,主店)
|
||||
// 最好商品由主店创建,复制到分店,分店本地同步状态不在打开
|
||||
err = ModifyOrderSkusStock(db, order, false)
|
||||
err = ModifyPetOrderSkusStock(db, order, false)
|
||||
}
|
||||
}
|
||||
if err == nil {
|
||||
@@ -520,38 +521,57 @@ func ModifyPetOrderSkusStock(db *dao.DaoDB, order *model.GoodsOrder, isAdd bool)
|
||||
globals.SugarLogger.Errorf("根据品牌获取门店信息异常,未获取到门店列表[storeID:%d,brandID:%d]", store.ID, store.BrandID)
|
||||
return nil
|
||||
}
|
||||
storeIdList := make([]int, 0, len(storeList))
|
||||
for _, v := range storeList {
|
||||
storeIdList = append(storeIdList, v.ID)
|
||||
}
|
||||
|
||||
skus := order.Skus
|
||||
skuIDList := make([]int, 0, len(skus))
|
||||
for _, sku := range skus {
|
||||
storeSkus, _ := dao.GetStoresSkusInfo(db, []int{storeList[0].ID}, []int{sku.SkuID})
|
||||
storeSkus, _ := dao.GetStoresSkusInfo(db, storeIdList, []int{sku.SkuID})
|
||||
if len(storeSkus) == 0 {
|
||||
continue
|
||||
}
|
||||
storeSku, stock := storeSkus[0], 0
|
||||
if storeSku.Stock == 0 {
|
||||
continue
|
||||
for _, ss := range storeSkus {
|
||||
if ss.StoreID == storeList[0].ID {
|
||||
storeSku = ss
|
||||
stock = ss.Stock
|
||||
break
|
||||
}
|
||||
}
|
||||
if isAdd {
|
||||
stock = storeSku.Stock + sku.Count
|
||||
} else {
|
||||
stock = storeSku.Stock - sku.Count
|
||||
//如果是进货的订单,进货方门店对应商品要加上这么多库存
|
||||
if order.OrderType == model.OrderTypeSupplyGoods {
|
||||
storeSkus2, _ := dao.GetStoresSkusInfo(db, []int{order.FromStoreID}, []int{sku.SkuID})
|
||||
if len(storeSkus2) > 0 {
|
||||
storeSku3 := storeSkus2[0]
|
||||
storeSku3.Stock = storeSku3.Stock + sku.Count
|
||||
db.Db.Update(storeSku3, "Stock")
|
||||
}
|
||||
}
|
||||
realStock := checkPriceDefendOrderByStock(db, jxutils.GetSaleStoreIDFromOrder(order), sku.SkuID, stock, storeSku.JxPrice)
|
||||
if realStock != -1 {
|
||||
stock = realStock
|
||||
}
|
||||
}
|
||||
storeSku.Stock = stock
|
||||
db.Db.Update(storeSku, "Stock")
|
||||
//if isAdd {
|
||||
// stock = storeSku.Stock + sku.Count
|
||||
//} else {
|
||||
// stock = storeSku.Stock - sku.Count
|
||||
// //如果是进货的订单,进货方门店对应商品要加上这么多库存
|
||||
// //if order.OrderType == model.OrderTypeSupplyGoods {
|
||||
// // storeSkus2, _ := dao.GetStoresSkusInfo(db, []int{order.FromStoreID}, []int{sku.SkuID})
|
||||
// // if len(storeSkus2) > 0 {
|
||||
// // storeSku3 := storeSkus2[0]
|
||||
// // storeSku3.Stock = storeSku3.Stock + sku.Count
|
||||
// // db.Db.Update(storeSku3, "Stock")
|
||||
// // }
|
||||
// //}
|
||||
// //realStock := checkPriceDefendOrderByStock(db, jxutils.GetSaleStoreIDFromOrder(order), sku.SkuID, stock, storeSku.JxPrice)
|
||||
// //if realStock != -1 {
|
||||
// // stock = realStock
|
||||
// //}
|
||||
//}
|
||||
if stock <= model.NO {
|
||||
stock = 0
|
||||
}
|
||||
skuIDList = append(skuIDList, sku.SkuID)
|
||||
dao.ExecuteSQL(db, `UPDATE thing_map SET sync_status = 1 WHERE vendor_thing_id = ?`, sku.SkuID)
|
||||
}
|
||||
_, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, 0, db, nil, storeIdList, false, skuIDList, nil, model.SyncFlagStoreSkuModifiedMask, true, true)
|
||||
_, err = cms.SyncSkus(jxcontext.AdminCtx, nil, nil, []string{"309558"}, nil, skuIDList, true)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user