diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 834978539..bfcbd87b6 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -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 }