49 lines
1.9 KiB
Go
49 lines
1.9 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
|
||
}
|
||
|
||
func Act2ActMap(act *model.Act2) (actMap *model.ActMap) {
|
||
actMap = &model.ActMap{}
|
||
actMap.ID = act.MapID
|
||
return actMap
|
||
}
|
||
|
||
func ActStore2ActStoreMap(actStore *model.ActStore2) (actStoreMap *model.ActStoreMap) {
|
||
return &actStore.ActStoreMap
|
||
}
|
||
|
||
func ActStoreSku2ActStoreSkuMap(actStoreSku *model.ActStoreSku2) (actStoreSkuMap *model.ActStoreSkuMap) {
|
||
actStoreSkuMap = &model.ActStoreSkuMap{}
|
||
actStoreSkuMap.ID = actStoreSku.MapID
|
||
return actStoreSkuMap
|
||
}
|