- mtwm sku act ready
This commit is contained in:
@@ -24,6 +24,19 @@ type LogicUpdateInfo struct {
|
||||
Condition map[string]interface{}
|
||||
}
|
||||
|
||||
func splitPromotionSku(skus []*jdapi.PromotionSku, maxCount int) (skusList [][]*jdapi.PromotionSku) {
|
||||
for {
|
||||
skusLen := len(skus)
|
||||
if skusLen <= maxCount {
|
||||
skusList = append(skusList, skus)
|
||||
break
|
||||
}
|
||||
skusList = append(skusList, skus[:maxCount])
|
||||
skus = skus[maxCount:]
|
||||
}
|
||||
return skusList
|
||||
}
|
||||
|
||||
func CreatePromotionInfos(promotionType int, name string, beginDate, endDate time.Time, outInfoId, advertising, traceId string) (infoId int64, err error) {
|
||||
if globals.EnableJdStoreWrite {
|
||||
if promotionType == model.ActSkuDirectDown {
|
||||
@@ -50,10 +63,18 @@ func CreatePromotionRules(promotionType int, infoId int64, outInfoId string, lim
|
||||
|
||||
func CreatePromotionSku(promotionType int, infoId int64, outInfoId string, skus []*jdapi.PromotionSku, traceId string) (skusResult []*jdapi.PromotionSku, err error) {
|
||||
if globals.EnableJdStoreWrite {
|
||||
if promotionType == model.ActSkuDirectDown {
|
||||
return api.JdAPI.CreatePromotionSkuSingle(infoId, outInfoId, skus, traceId)
|
||||
} else {
|
||||
return api.JdAPI.CreatePromotionSkuLimitTime(infoId, outInfoId, skus, traceId)
|
||||
for _, batchSkus := range splitPromotionSku(skus, jdapi.MaxPromotionSkuCount) {
|
||||
var tmpSkusResult []*jdapi.PromotionSku
|
||||
var tmpErr error
|
||||
if promotionType == model.ActSkuDirectDown {
|
||||
tmpSkusResult, tmpErr = api.JdAPI.CreatePromotionSkuSingle(infoId, outInfoId, batchSkus, traceId)
|
||||
} else {
|
||||
tmpSkusResult, tmpErr = api.JdAPI.CreatePromotionSkuLimitTime(infoId, outInfoId, batchSkus, traceId)
|
||||
}
|
||||
if err = tmpErr; err != nil {
|
||||
break
|
||||
}
|
||||
skusResult = append(skusResult, tmpSkusResult...)
|
||||
}
|
||||
}
|
||||
return skusResult, err
|
||||
@@ -61,10 +82,16 @@ func CreatePromotionSku(promotionType int, infoId int64, outInfoId string, skus
|
||||
|
||||
func CancelPromotionSku(promotionType int, infoId int64, outInfoId string, skus []*jdapi.PromotionSku, traceId string) (err error) {
|
||||
if globals.EnableJdStoreWrite {
|
||||
if promotionType == model.ActSkuDirectDown {
|
||||
return api.JdAPI.CancelPromotionSkuSingle(infoId, outInfoId, skus, traceId)
|
||||
} else {
|
||||
return api.JdAPI.CancelPromotionSkuLimitTime(infoId, outInfoId, skus, traceId)
|
||||
for _, batchSkus := range splitPromotionSku(skus, jdapi.MaxPromotionSkuCount) {
|
||||
var tmpErr error
|
||||
if promotionType == model.ActSkuDirectDown {
|
||||
tmpErr = api.JdAPI.CancelPromotionSkuSingle(infoId, outInfoId, batchSkus, traceId)
|
||||
} else {
|
||||
tmpErr = api.JdAPI.CancelPromotionSkuLimitTime(infoId, outInfoId, batchSkus, traceId)
|
||||
}
|
||||
if err = tmpErr; err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user