门店调价包修改
This commit is contained in:
@@ -3383,6 +3383,11 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
|
||||
return err
|
||||
}
|
||||
db := dao.GetDB()
|
||||
storeDetail, _ := dao.GetStoreDetail(db, storeID, vendorID)
|
||||
if storeDetail.PayPercentage > 50 {
|
||||
return fmt.Errorf("目前只允许扣点的门店修改调价包!")
|
||||
}
|
||||
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
@@ -3392,8 +3397,6 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
|
||||
}()
|
||||
//证明是门店自己的调价包
|
||||
if strings.Contains(pricePack, utils.Int2Str(storeID)) {
|
||||
|
||||
} else {
|
||||
configList, err := dao.QueryConfigs(db, pricePack, model.ConfigTypePricePack, "")
|
||||
if err != nil {
|
||||
dao.Rollback(db)
|
||||
@@ -3405,23 +3408,39 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
//表示门店要改他原有的调价包
|
||||
//1、调价包名字要加上门店编号门店名等
|
||||
//2、添加config
|
||||
//3、更新storeVendorMap
|
||||
//4、同步相关
|
||||
pricePack = pricePack + "_" + utils.Int2Str(storeID) + "_" + storeDetail.Name
|
||||
if err = AddConfig(ctx, pricePack, model.ConfigTypePricePack, value); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
storeMapList, err := dao.GetStoresMapList(db, []int{vendorID}, []int{storeID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "")
|
||||
if err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
if len(storeMapList) > 0 {
|
||||
storeMapList[0].PricePercentagePack = pricePack
|
||||
dao.UpdateEntity(db, storeMapList[0], "PricePercentagePack")
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
storeMapList, err := dao.GetStoresMapList(db, nil, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, pricePack, "")
|
||||
if err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
vendorStoreMap := make(map[int][]int)
|
||||
for _, v := range storeMapList {
|
||||
vendorStoreMap[v.VendorID] = append(vendorStoreMap[v.VendorID], v.StoreID)
|
||||
}
|
||||
for vendorID, storeIDs := range vendorStoreMap {
|
||||
if vendorID != model.VendorIDJX {
|
||||
dao.SetStoreSkuSyncStatus(db, vendorID, storeIDs, nil, model.SyncFlagPriceMask)
|
||||
} else {
|
||||
_, err = ReCalculateJxPrice(db, ctx, storeIDs)
|
||||
}
|
||||
dao.SetStoreSkuSyncStatus(db, vendorID, storeIDs, nil, model.SyncFlagPriceMask)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user