- 检查活动价格合法性
This commit is contained in:
@@ -146,7 +146,7 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac
|
||||
actSkuMap.ActualActPrice = 1
|
||||
}
|
||||
}
|
||||
if actSkuMap.ActualActPrice >= actSkuMap.VendorPrice {
|
||||
if err2 := checkDiscountValidation(act.Type, int(actSkuMap.ActualActPrice*100/actSkuMap.VendorPrice)); err2 != nil {
|
||||
wrongSkuList = append(wrongSkuList, v)
|
||||
} else {
|
||||
dao.WrapAddIDCULDEntity(actSkuMap, ctx.GetUserName())
|
||||
@@ -265,6 +265,15 @@ 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 >= 100) {
|
||||
err = fmt.Errorf("%s活动折扣必须大于:%d, 且必须有折扣", model.ActTypeName[actType], minDiscount4SkuDirectDown)
|
||||
} else if actType == model.ActSkuSecKill && pricePercentage >= maxDiscount4SkuSecKill {
|
||||
err = fmt.Errorf("%s活动折扣必须小于:%d", model.ActTypeName[actType], maxDiscount4SkuSecKill)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func checkActValidation(act *model.Act, vendorIDs []int) (err error) {
|
||||
var errList []error
|
||||
if utils.IsTimeZero(act.BeginAt) || utils.IsTimeZero(act.EndAt) {
|
||||
@@ -278,17 +287,10 @@ func checkActValidation(act *model.Act, vendorIDs []int) (err error) {
|
||||
if act.Type == model.ActSkuDirectDown || act.Type == model.ActSkuSecKill {
|
||||
if act.PricePercentage == 0 {
|
||||
errList = append(errList, fmt.Errorf("活动必须指定价格折扣"))
|
||||
}
|
||||
if act.Type == model.ActSkuDirectDown && (act.PricePercentage <= minDiscount4SkuDirectDown || act.PricePercentage >= 100) {
|
||||
errList = append(errList, fmt.Errorf("%s活动折扣必须大于:%d, 且必须有折扣", model.ActTypeName[act.Type], minDiscount4SkuDirectDown))
|
||||
}
|
||||
if act.Type == model.ActSkuSecKill {
|
||||
if vendorIDMap[model.VendorIDMTWM] == 1 {
|
||||
errList = append(errList, fmt.Errorf("平台%s暂不支持%s活动", model.VendorChineseNames[model.VendorIDMTWM], model.ActTypeName[act.Type]))
|
||||
}
|
||||
if act.PricePercentage >= maxDiscount4SkuSecKill {
|
||||
errList = append(errList, fmt.Errorf("%s活动折扣必须小于:%d", model.ActTypeName[act.Type], maxDiscount4SkuSecKill))
|
||||
}
|
||||
} else if err = checkDiscountValidation(act.Type, act.PricePercentage); err != nil {
|
||||
errList = append(errList, err)
|
||||
} else if act.Type == model.ActSkuSecKill && vendorIDMap[model.VendorIDMTWM] == 1 {
|
||||
errList = append(errList, err)
|
||||
}
|
||||
} else if act.Type == model.ActSkuFake {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user