门店调价包修改

This commit is contained in:
苏尹岚
2020-07-24 14:46:37 +08:00
parent 720871dc1b
commit b88a9c0032

View File

@@ -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
}