diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index bff5cdbea..bf23c42fc 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -2,10 +2,10 @@ package act import ( "fmt" - "strings" "time" "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/baseapi/utils/errlist" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/globals" @@ -279,9 +279,11 @@ func checkDiscountValidation(actType int, pricePercentage int) (err error) { } func checkActValidation(act *model.Act, vendorIDs []int) (err error) { - var errList []error + errList := errlist.New() if utils.IsTimeZero(act.BeginAt) || utils.IsTimeZero(act.EndAt) { - errList = append(errList, fmt.Errorf("活动开始与结束时间必须指定")) + errList.AddErr(fmt.Errorf("活动开始与结束时间必须指定")) + } else if act.EndAt.Sub(act.BeginAt) < 0 { + errList.AddErr(fmt.Errorf("活动开始时间必须小于活动结束时间")) } vendorIDMap := make(map[int]int) for _, vendorID := range vendorIDs { @@ -290,25 +292,19 @@ 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("活动必须指定价格折扣")) + errList.AddErr(fmt.Errorf("必须指定缺省活动折扣")) } else if err = checkDiscountValidation(act.Type, act.PricePercentage); err != nil { - errList = append(errList, err) + errList.AddErr(err) } else if act.Type == model.ActSkuSecKill && vendorIDMap[model.VendorIDMTWM] == 1 { - errList = append(errList, err) + errList.AddErr(fmt.Errorf("%s平台不支持%s活动", model.VendorChineseNames[model.VendorIDMTWM], model.ActTypeName[model.ActSkuSecKill])) } } else if act.Type == model.ActSkuFake { } else { - errList = append(errList, fmt.Errorf("当前只支持直降与秒杀活动")) + errList.AddErr(fmt.Errorf("当前只支持%s与%s活动", model.ActTypeName[model.ActSkuDirectDown], model.ActTypeName[model.ActSkuSecKill])) } - if errList == nil { - return nil - } - strList := make([]string, len(errList)) - for k, v := range errList { - strList[k] = v.Error() - } - return fmt.Errorf("%s", strings.Join(strList, ",\n")) + err = errList.GetErrListAsOne() + return err } func setActDefault(act *model.Act) {