门店调价包修改
This commit is contained in:
@@ -3383,6 +3383,11 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
|
storeDetail, _ := dao.GetStoreDetail(db, storeID, vendorID)
|
||||||
|
if storeDetail.PayPercentage > 50 {
|
||||||
|
return fmt.Errorf("目前只允许扣点的门店修改调价包!")
|
||||||
|
}
|
||||||
|
|
||||||
dao.Begin(db)
|
dao.Begin(db)
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
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)) {
|
if strings.Contains(pricePack, utils.Int2Str(storeID)) {
|
||||||
|
|
||||||
} else {
|
|
||||||
configList, err := dao.QueryConfigs(db, pricePack, model.ConfigTypePricePack, "")
|
configList, err := dao.QueryConfigs(db, pricePack, model.ConfigTypePricePack, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
@@ -3405,23 +3408,39 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
|
|||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return err
|
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, "")
|
storeMapList, err := dao.GetStoresMapList(db, nil, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, pricePack, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
|
||||||
vendorStoreMap := make(map[int][]int)
|
vendorStoreMap := make(map[int][]int)
|
||||||
for _, v := range storeMapList {
|
for _, v := range storeMapList {
|
||||||
vendorStoreMap[v.VendorID] = append(vendorStoreMap[v.VendorID], v.StoreID)
|
vendorStoreMap[v.VendorID] = append(vendorStoreMap[v.VendorID], v.StoreID)
|
||||||
}
|
}
|
||||||
for vendorID, storeIDs := range vendorStoreMap {
|
for vendorID, storeIDs := range vendorStoreMap {
|
||||||
if vendorID != model.VendorIDJX {
|
dao.SetStoreSkuSyncStatus(db, vendorID, storeIDs, nil, model.SyncFlagPriceMask)
|
||||||
dao.SetStoreSkuSyncStatus(db, vendorID, storeIDs, nil, model.SyncFlagPriceMask)
|
|
||||||
} else {
|
|
||||||
_, err = ReCalculateJxPrice(db, ctx, storeIDs)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user