33 lines
1.5 KiB
Go
33 lines
1.5 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 SplitActStore(actStoreList []*model.ActStore2) (actStoreMap map[int]*model.ActStore2) {
|
||
actStoreMap = make(map[int]*model.ActStore2)
|
||
for _, v := range actStoreList {
|
||
actStoreMap[v.StoreID] = v
|
||
}
|
||
return actStoreMap
|
||
}
|
||
|
||
func SplitActStoreSku(actStoreSkuList []*model.ActStoreSku2) (actStoreSkuMap map[int][]*model.ActStoreSku2) {
|
||
actStoreSkuMap = make(map[int][]*model.ActStoreSku2)
|
||
for _, v := range actStoreSkuList {
|
||
actStoreSkuMap[v.StoreID] = append(actStoreSkuMap[v.StoreID], v)
|
||
}
|
||
return actStoreSkuMap
|
||
}
|