From b88a9c00321bc66bf771899798cd336fb14d0864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 24 Jul 2020 14:46:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E5=BA=97=E8=B0=83=E4=BB=B7=E5=8C=85?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) 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 }