From ff525293a57e6063a12a593a92770e091e72ed5e Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 4 Nov 2019 14:30:19 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=BB=93=E7=AE=97=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E4=B8=8D=E8=A6=81=E6=B1=82=E9=97=A8=E5=BA=97=E5=85=B3=E6=B3=A8?= =?UTF-8?q?=E5=95=86=E5=93=81=20=E4=B8=8D=E8=87=AA=E5=8A=A8=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=B2=A1=E6=9C=89=E5=85=B3=E6=B3=A8=E7=9A=84=E5=95=86?= =?UTF-8?q?=E5=93=81=EF=BC=8C=E4=BC=9A=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/act/act.go | 97 +++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 42ef9ac13..00ecf79cd 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -120,49 +120,54 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac storeDetail, err2 := dao.GetStoreDetail(db, storeID, vendorID) if err = err2; err == nil { for _, v := range oneStoreSkuParam { - if storeSkuInfo := storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)]; storeSkuInfo != nil { - validVendorMap[vendorID] = 1 - validSkuMap[v.SkuID] = 1 - pricePercentage := jxutils.GetPricePercentage(storeDetail.PricePercentagePackObj, storeSkuInfo.Price, int(storeDetail.PricePercentage)) - actSkuMap := &model.ActStoreSkuMap{ - ActID: act.ID, - StoreID: storeID, - SkuID: v.SkuID, - VendorID: vendorID, + validVendorMap[vendorID] = 1 + validSkuMap[v.SkuID] = 1 + v.ActID = act.ID + actSkuMap := &model.ActStoreSkuMap{ + ActID: act.ID, + StoreID: storeID, + SkuID: v.SkuID, + VendorID: vendorID, - SyncStatus: model.SyncFlagNewMask, - VendorPrice: int64(jxutils.CaculateSkuVendorPrice(storeSkuInfo.Price, pricePercentage)), - } - v.OriginalPrice = actSkuMap.VendorPrice - if act.Type == model.ActSkuFake { - actSkuMap.ActualActPrice = 0 - } else { - if v.ActPrice != 0 { - actSkuMap.ActualActPrice = v.ActPrice - } else { - percentage := act.PricePercentage - if v.PricePercentage != 0 { - percentage = v.PricePercentage - } - actSkuMap.ActualActPrice = int64(jxutils.CaculateSkuVendorPrice(int(actSkuMap.VendorPrice), percentage)) - if actSkuMap.ActualActPrice > 10 { - actSkuMap.ActualActPrice = int64(math.Round(float64(actSkuMap.ActualActPrice)/10) * 10) - } - } - if actSkuMap.ActualActPrice <= 0 { - actSkuMap.ActualActPrice = 1 - } - } - if err2 := checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil { - v.ErrMsg = err2.Error() - v.ActualActPrice = actSkuMap.ActualActPrice - wrongSkuList = append(wrongSkuList, v) - } else { - dao.WrapAddIDCULDEntity(actSkuMap, ctx.GetUserName()) - actStoreSkuMapList = append(actStoreSkuMapList, actSkuMap) - } + SyncStatus: model.SyncFlagNewMask, + } + v.OriginalPrice = actSkuMap.VendorPrice + if storeSkuInfo := storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)]; storeSkuInfo != nil { + jxPrice := storeSkuInfo.Price + pricePercentage := jxutils.GetPricePercentage(storeDetail.PricePercentagePackObj, jxPrice, int(storeDetail.PricePercentage)) + actSkuMap.VendorPrice = int64(jxutils.CaculateSkuVendorPrice(jxPrice, pricePercentage)) + v.OriginalPrice = int64(jxPrice) + } else if act.Type != model.ActSkuFake { + v.ErrMsg = fmt.Sprintf("门店:%d没有关注商品:%d", v.StoreID, v.SkuID) + wrongSkuList = append(wrongSkuList, v) + continue + } + if act.Type == model.ActSkuFake { + actSkuMap.ActualActPrice = 0 } else { - globals.SugarLogger.Debugf("ActStoreSkuParam2Model storeID:%d, skuID:%d没有关注", v.StoreID, v.SkuID) + if v.ActPrice != 0 { + actSkuMap.ActualActPrice = v.ActPrice + } else { + percentage := act.PricePercentage + if v.PricePercentage != 0 { + percentage = v.PricePercentage + } + actSkuMap.ActualActPrice = int64(jxutils.CaculateSkuVendorPrice(int(actSkuMap.VendorPrice), percentage)) + if actSkuMap.ActualActPrice > 10 { + actSkuMap.ActualActPrice = int64(math.Round(float64(actSkuMap.ActualActPrice)/10) * 10) + } + } + if actSkuMap.ActualActPrice <= 0 { + actSkuMap.ActualActPrice = 1 + } + } + if err2 := checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil { + v.ErrMsg = err2.Error() + v.ActualActPrice = actSkuMap.ActualActPrice + wrongSkuList = append(wrongSkuList, v) + } else { + dao.WrapAddIDCULDEntity(actSkuMap, ctx.GetUserName()) + actStoreSkuMapList = append(actStoreSkuMapList, actSkuMap) } } wholeValidVendorMap[vendorID] = 1 @@ -175,13 +180,9 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac if len(wrongSkuList) == 0 { for _, v := range oneStoreSkuParam { if validSkuMap[v.SkuID] == 1 { // todo 这里是否需要判断 - if storeSkuInfo := storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)]; storeSkuInfo != nil { - storeSku := &v.ActStoreSku - storeSku.ActID = act.ID - storeSku.OriginalPrice = int64(storeSkuInfo.Price) - dao.WrapAddIDCULDEntity(storeSku, ctx.GetUserName()) - actStoreSkuList = append(actStoreSkuList, storeSku) - } + storeSku := &v.ActStoreSku + dao.WrapAddIDCULDEntity(storeSku, ctx.GetUserName()) + actStoreSkuList = append(actStoreSkuList, storeSku) } } } From d2b387949f23d27caf4c12ad62aed314c553b987 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 4 Nov 2019 14:45:01 +0800 Subject: [PATCH 2/3] =?UTF-8?q?ActStoreSkuParam2Model=E4=B8=AD=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=85=B3=E6=B3=A8=E7=9A=84ActSkuFake=E6=97=B6?= =?UTF-8?q?=E8=A2=AB=E9=9B=B6=E9=99=A4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/act/act.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 00ecf79cd..81727c284 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -161,13 +161,15 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac actSkuMap.ActualActPrice = 1 } } - if err2 := checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil { - v.ErrMsg = err2.Error() - v.ActualActPrice = actSkuMap.ActualActPrice - wrongSkuList = append(wrongSkuList, v) - } else { - dao.WrapAddIDCULDEntity(actSkuMap, ctx.GetUserName()) - actStoreSkuMapList = append(actStoreSkuMapList, actSkuMap) + if act.Type != model.ActSkuFake { + if err2 := checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil { + v.ErrMsg = err2.Error() + v.ActualActPrice = actSkuMap.ActualActPrice + wrongSkuList = append(wrongSkuList, v) + } else { + dao.WrapAddIDCULDEntity(actSkuMap, ctx.GetUserName()) + actStoreSkuMapList = append(actStoreSkuMapList, actSkuMap) + } } } wholeValidVendorMap[vendorID] = 1 From a186ea33bd6d423f55a0f099cd107c61b437e8ed Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 4 Nov 2019 14:49:35 +0800 Subject: [PATCH 3/3] up --- business/jxstore/act/act.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 81727c284..8b9d77067 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -160,8 +160,6 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac if actSkuMap.ActualActPrice <= 0 { actSkuMap.ActualActPrice = 1 } - } - if act.Type != model.ActSkuFake { if err2 := checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil { v.ErrMsg = err2.Error() v.ActualActPrice = actSkuMap.ActualActPrice