From 5d6e5310584b81a72aef6966e901bd4b80378db6 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 7 Nov 2019 15:45:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=A1=E7=AE=97=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E6=AF=94=E4=BE=8B=E7=9A=84=E8=88=8D=E5=85=A5=E8=AF=AF?= =?UTF-8?q?=E5=B7=AE?= 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 eef24edb7..85c1d6e6f 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -160,7 +160,7 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac if actSkuMap.ActualActPrice <= 0 { actSkuMap.ActualActPrice = 1 } - if err2 = checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil { + if err2 = checkDiscountValidation(act.Type, float64(actSkuMap.ActualActPrice)*100/float64(actSkuMap.VendorPrice)); err2 != nil { v.ErrMsg = err2.Error() v.ActualActPrice = actSkuMap.ActualActPrice wrongSkuList = append(wrongSkuList, v) @@ -280,14 +280,16 @@ func AddActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, actSto return err } -func checkDiscountValidation(actType int, pricePercentage int) (err error) { - if actType == model.ActSkuDirectDown && (pricePercentage < minDiscount4SkuDirectDown || pricePercentage > 99) { - if pricePercentage < minDiscount4SkuDirectDown { +func checkDiscountValidation(actType int, pricePercentage float64) (err error) { + pricePercentageMin := int(math.Floor(pricePercentage)) + pricePercentageMax := int(math.Ceil(pricePercentage)) + if actType == model.ActSkuDirectDown && (pricePercentageMin < minDiscount4SkuDirectDown || pricePercentageMax > 99) { + if pricePercentageMin < minDiscount4SkuDirectDown { err = fmt.Errorf("%s活动折扣必须大于:%d", model.ActTypeName[actType], minDiscount4SkuDirectDown) - } else if pricePercentage > 99 { + } else if pricePercentageMax > 99 { err = fmt.Errorf("%s活动必须有折扣", model.ActTypeName[actType]) } - } else if actType == model.ActSkuSecKill && pricePercentage > maxDiscount4SkuSecKill { + } else if actType == model.ActSkuSecKill && pricePercentageMax > maxDiscount4SkuSecKill { err = fmt.Errorf("%s活动折扣必须小于:%d", model.ActTypeName[actType], maxDiscount4SkuSecKill) } return err @@ -308,7 +310,7 @@ func checkActValidation(act *model.Act, vendorIDs []int) (err error) { if act.Type == model.ActSkuDirectDown || act.Type == model.ActSkuSecKill { if act.PricePercentage == 0 { errList.AddErr(fmt.Errorf("必须指定缺省活动折扣")) - } else if err = checkDiscountValidation(act.Type, act.PricePercentage); err != nil { + } else if err = checkDiscountValidation(act.Type, float64(act.PricePercentage)); err != nil { errList.AddErr(err) } else if act.Type == model.ActSkuSecKill && vendorIDMap[model.VendorIDMTWM] == 1 { errList.AddErr(fmt.Errorf("%s平台不支持%s活动", model.VendorChineseNames[model.VendorIDMTWM], model.ActTypeName[model.ActSkuSecKill]))