25 lines
1.3 KiB
Go
25 lines
1.3 KiB
Go
package partner
|
||
|
||
import (
|
||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||
"git.rosy.net.cn/jx-callback/business/model"
|
||
)
|
||
|
||
type IPurchasePlatformPromotionHandler interface {
|
||
// 如果是单品级活动,actOrderRules为空
|
||
// 如果是订单级活动,actStoreSku可以为空(表示不限制SKU)
|
||
CreateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error)
|
||
UpdateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap2Remove, actStoreMap2Add, actStoreMap2Update []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error)
|
||
// 取消整个京西活动
|
||
CancelAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actStoreMap []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error)
|
||
}
|
||
|
||
func ActStoreSku2Map(actStoreSku []*model.ActStoreSku2) (actStoreSkuMap map[int][]*model.ActStoreSku2) {
|
||
actStoreSkuMap = make(map[int][]*model.ActStoreSku2)
|
||
for _, storeSku := range actStoreSku {
|
||
actStoreSkuMap[storeSku.StoreID] = append(actStoreSkuMap[storeSku.StoreID], storeSku)
|
||
}
|
||
return actStoreSkuMap
|
||
}
|