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 }