- refactor
This commit is contained in:
@@ -7,7 +7,6 @@ import (
|
|||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"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/jxutils/tasksch"
|
||||||
@@ -34,19 +33,6 @@ type ActDetail struct {
|
|||||||
model.Act2
|
model.Act2
|
||||||
}
|
}
|
||||||
|
|
||||||
func ActStoreSkuParam2Map(actStoreSku []*ActStoreSkuParam) (actStoreSkuMap map[int][]*ActStoreSkuParam) {
|
|
||||||
if len(actStoreSku) > 0 {
|
|
||||||
for _, v := range actStoreSku {
|
|
||||||
actStoreSkuMap[v.StoreID] = append(actStoreSkuMap[v.StoreID], v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return actStoreSkuMap
|
|
||||||
}
|
|
||||||
|
|
||||||
func genStoreSkuMapKey(storeID, skuID int) int64 {
|
|
||||||
return int64(storeID) + int64(skuID)*1000000
|
|
||||||
}
|
|
||||||
|
|
||||||
func ActStoreSkuParam2Model(ctx *jxcontext.Context, act *model.Act, vendorIDs []int, actStoreSku []*ActStoreSkuParam) (actMapList []*model.ActMap, actStoreMapList []*model.ActStoreMap, actStoreSkuList []*model.ActStoreSku, actStoreSkuMapList []*model.ActStoreSkuMap, err error) {
|
func ActStoreSkuParam2Model(ctx *jxcontext.Context, act *model.Act, vendorIDs []int, actStoreSku []*ActStoreSkuParam) (actMapList []*model.ActMap, actStoreMapList []*model.ActStoreMap, actStoreSkuList []*model.ActStoreSku, actStoreSkuMapList []*model.ActStoreSkuMap, err error) {
|
||||||
if len(actStoreSku) > 0 {
|
if len(actStoreSku) > 0 {
|
||||||
storeIDMap := make(map[int]int)
|
storeIDMap := make(map[int]int)
|
||||||
@@ -65,7 +51,7 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, act *model.Act, vendorIDs []
|
|||||||
}
|
}
|
||||||
storeSkuMap := make(map[int64]*model.StoreSkuBind)
|
storeSkuMap := make(map[int64]*model.StoreSkuBind)
|
||||||
for _, v := range storeSkuList {
|
for _, v := range storeSkuList {
|
||||||
storeSkuMap[genStoreSkuMapKey(v.StoreID, v.SkuID)] = v
|
storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
wholeValidVendorMap := make(map[int]int)
|
wholeValidVendorMap := make(map[int]int)
|
||||||
@@ -76,7 +62,7 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, act *model.Act, vendorIDs []
|
|||||||
storeDetail, err2 := dao.GetStoreDetail(db, storeID, vendorID)
|
storeDetail, err2 := dao.GetStoreDetail(db, storeID, vendorID)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
for _, v := range oneStoreSkuParam {
|
for _, v := range oneStoreSkuParam {
|
||||||
if storeSkuInfo := storeSkuMap[genStoreSkuMapKey(v.StoreID, v.SkuID)]; storeSkuInfo != nil {
|
if storeSkuInfo := storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)]; storeSkuInfo != nil {
|
||||||
validVendorMap[vendorID] = 1
|
validVendorMap[vendorID] = 1
|
||||||
validSkuMap[v.SkuID] = 1
|
validSkuMap[v.SkuID] = 1
|
||||||
actSkuMap := &model.ActStoreSkuMap{
|
actSkuMap := &model.ActStoreSkuMap{
|
||||||
@@ -110,7 +96,7 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, act *model.Act, vendorIDs []
|
|||||||
|
|
||||||
for _, v := range oneStoreSkuParam {
|
for _, v := range oneStoreSkuParam {
|
||||||
if validSkuMap[v.SkuID] == 1 {
|
if validSkuMap[v.SkuID] == 1 {
|
||||||
if storeSkuInfo := storeSkuMap[genStoreSkuMapKey(v.StoreID, v.SkuID)]; storeSkuInfo != nil {
|
if storeSkuInfo := storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)]; storeSkuInfo != nil {
|
||||||
storeSku := &v.ActStoreSku
|
storeSku := &v.ActStoreSku
|
||||||
storeSku.ActID = act.ID
|
storeSku.ActID = act.ID
|
||||||
storeSku.OriginalPrice = int64(storeSkuInfo.Price)
|
storeSku.OriginalPrice = int64(storeSkuInfo.Price)
|
||||||
@@ -211,46 +197,24 @@ func GetActDetail(ctx *jxcontext.Context, actID int) (actDetail *ActDetail, err
|
|||||||
// return err
|
// return err
|
||||||
// }
|
// }
|
||||||
|
|
||||||
func parseActStoreSkuParam(actStoreSku []*ActStoreSkuParam) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func UpdateAct(ctx *jxcontext.Context, act *model.Act, actRules []*ActOrderRuleParam, actStoreSku []*ActStoreSkuParam) (err error) {
|
func UpdateAct(ctx *jxcontext.Context, act *model.Act, actRules []*ActOrderRuleParam, actStoreSku []*ActStoreSkuParam) (err error) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func CancelAct(ctx *jxcontext.Context, actID int) (err error) {
|
func CancelAct(ctx *jxcontext.Context, actID int) (err error) {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
act := &model.Act{}
|
if err = deleteActStoreBind(ctx, db, actID, nil); err != nil {
|
||||||
act.ID = actID
|
|
||||||
if err = dao.GetEntity(db, act); err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
dao.Begin(db)
|
err = SyncAct(ctx, actID, nil, nil, nil)
|
||||||
defer func() {
|
|
||||||
if r := recover(); r != nil {
|
|
||||||
dao.Rollback(db)
|
|
||||||
panic(r)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
dao.UpdateEntityLogically(db, act, map[string]interface{}{
|
|
||||||
model.FieldStatus: model.ActStatusCanceled,
|
|
||||||
}, ctx.GetUserName(), nil)
|
|
||||||
_, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, &model.ActMap{}, nil, ctx.GetUserName(), map[string]interface{}{
|
|
||||||
model.FieldActID: actID,
|
|
||||||
}, model.FieldSyncStatus, model.SyncFlagModifiedMask)
|
|
||||||
if err == nil {
|
|
||||||
dao.Commit(db)
|
|
||||||
globals.SugarLogger.Debugf("CancelAct track:%s", ctx.GetTrackInfo())
|
|
||||||
err = SyncAct(ctx, actID, nil, nil, nil)
|
|
||||||
} else {
|
|
||||||
dao.Rollback(db)
|
|
||||||
}
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeleteActStoreBind(ctx *jxcontext.Context, actID int, actStoreSku []*ActStoreSkuParam) (err error) {
|
func DeleteActStoreBind(ctx *jxcontext.Context, actID int, actStoreSku []*ActStoreSkuParam) (err error) {
|
||||||
|
return deleteActStoreBind(ctx, dao.GetDB(), actID, actStoreSku)
|
||||||
|
}
|
||||||
|
|
||||||
|
func deleteActStoreBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, actStoreSku []*ActStoreSkuParam) (err error) {
|
||||||
storeIDMap := make(map[int]int)
|
storeIDMap := make(map[int]int)
|
||||||
skuIDMap := make(map[int]int)
|
skuIDMap := make(map[int]int)
|
||||||
actStoreSkuParamMap := make(map[int64]*ActStoreSkuParam)
|
actStoreSkuParamMap := make(map[int64]*ActStoreSkuParam)
|
||||||
@@ -259,9 +223,18 @@ func DeleteActStoreBind(ctx *jxcontext.Context, actID int, actStoreSku []*ActSto
|
|||||||
skuIDMap[v.SkuID] = 1
|
skuIDMap[v.SkuID] = 1
|
||||||
actStoreSkuParamMap[jxutils.Combine2Int(v.StoreID, v.SkuID)] = v
|
actStoreSkuParamMap[jxutils.Combine2Int(v.StoreID, v.SkuID)] = v
|
||||||
}
|
}
|
||||||
|
storeIDs := jxutils.IntMap2List(storeIDMap)
|
||||||
|
skuIDs := jxutils.IntMap2List(skuIDMap)
|
||||||
|
|
||||||
db := dao.GetDB()
|
actMap, err := dao.GetActVendorInfo(db, actID, nil)
|
||||||
actStoreSkuMap, err := dao.GetActStoreSkuVendorInfo(db, actID, nil, jxutils.IntMap2List(storeIDMap), jxutils.IntMap2List(skuIDMap))
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
actStoreMap, err := dao.GetActStoreVendorInfo(db, actID, nil, storeIDs)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
actStoreSkuMap, err := dao.GetActStoreSkuVendorInfo(db, actID, nil, storeIDs, skuIDs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -274,14 +247,56 @@ func DeleteActStoreBind(ctx *jxcontext.Context, actID int, actStoreSku []*ActSto
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
for _, v := range actStoreSkuMap {
|
|
||||||
for _, storeSku := range v {
|
isNeedCancelAct := true
|
||||||
storeSku.SyncStatus |= model.SyncFlagDeletedMask
|
for vendorID, act := range actMap {
|
||||||
if param := actStoreSkuParamMap[jxutils.Combine2Int(storeSku.StoreID, storeSku.SkuID)]; param != nil {
|
actStoreMap := partner.SplitActStore(actStoreMap[vendorID])
|
||||||
if _, err = dao.UpdateEntity(db, storeSku); err != nil {
|
actStoreSkuMap := partner.SplitActStoreSku(actStoreSkuMap[vendorID])
|
||||||
return err
|
isStoreAllDeleted := true
|
||||||
|
for _, actStore := range actStoreMap {
|
||||||
|
isStoreSkuAllDeleted := true
|
||||||
|
for _, actStoreSku := range actStoreSkuMap[actStore.StoreID] {
|
||||||
|
if actStoreSku == nil || actStoreSkuParamMap[jxutils.Combine2Int(actStoreSku.StoreID, actStoreSku.SkuID)] != nil {
|
||||||
|
objActStoreSkuMap := &model.ActStoreSkuMap{}
|
||||||
|
objActStoreSkuMap.ID = actStoreSku.MapID
|
||||||
|
if _, err = dao.UpdateEntityLogically(db, objActStoreSkuMap, map[string]interface{}{
|
||||||
|
model.FieldSyncStatus: actStoreSku.SyncStatus | model.SyncFlagDeletedMask,
|
||||||
|
}, ctx.GetUserName(), nil); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
isStoreSkuAllDeleted = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if isStoreSkuAllDeleted {
|
||||||
|
if _, err = dao.UpdateEntityLogically(db, &actStore.ActStoreMap, map[string]interface{}{
|
||||||
|
model.FieldSyncStatus: actStore.SyncStatus | model.SyncFlagDeletedMask,
|
||||||
|
}, ctx.GetUserName(), nil); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
isStoreAllDeleted = false
|
||||||
|
isNeedCancelAct = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if isStoreAllDeleted {
|
||||||
|
objActMap := &model.ActMap{}
|
||||||
|
objActMap.ID = act.MapID
|
||||||
|
if _, err = dao.UpdateEntityLogically(db, objActMap, map[string]interface{}{
|
||||||
|
model.FieldSyncStatus: act.SyncStatus | model.SyncFlagDeletedMask,
|
||||||
|
}, ctx.GetUserName(), nil); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if isNeedCancelAct {
|
||||||
|
act := &model.Act{}
|
||||||
|
act.ID = actID
|
||||||
|
if _, err = dao.UpdateEntityLogically(db, act, map[string]interface{}{
|
||||||
|
model.FieldStatus: model.ActStatusCanceled,
|
||||||
|
}, ctx.GetUserName(), nil); err != nil {
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
|
|||||||
@@ -31,20 +31,28 @@ func TestCreateAct(t *testing.T) {
|
|||||||
PricePercentage: 80,
|
PricePercentage: 80,
|
||||||
}, []int{0, 1, 3}, nil, []*ActStoreSkuParam{
|
}, []int{0, 1, 3}, nil, []*ActStoreSkuParam{
|
||||||
&ActStoreSkuParam{
|
&ActStoreSkuParam{
|
||||||
StoreID: 100119,
|
ActStoreSku: model.ActStoreSku{
|
||||||
SkuID: 30828,
|
StoreID: 100119,
|
||||||
|
SkuID: 30828,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
&ActStoreSkuParam{
|
&ActStoreSkuParam{
|
||||||
StoreID: 100119,
|
ActStoreSku: model.ActStoreSku{
|
||||||
SkuID: 30827,
|
StoreID: 100119,
|
||||||
|
SkuID: 30827,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
&ActStoreSkuParam{
|
&ActStoreSkuParam{
|
||||||
StoreID: 100118,
|
ActStoreSku: model.ActStoreSku{
|
||||||
SkuID: 30592,
|
StoreID: 100118,
|
||||||
|
SkuID: 30592,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
&ActStoreSkuParam{
|
&ActStoreSkuParam{
|
||||||
StoreID: 100118,
|
ActStoreSku: model.ActStoreSku{
|
||||||
SkuID: 30565,
|
StoreID: 100118,
|
||||||
|
SkuID: 30565,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -15,10 +15,18 @@ type IPurchasePlatformPromotionHandler interface {
|
|||||||
CancelAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actStoreMap []*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) {
|
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)
|
actStoreSkuMap = make(map[int][]*model.ActStoreSku2)
|
||||||
for _, storeSku := range actStoreSku {
|
for _, v := range actStoreSkuList {
|
||||||
actStoreSkuMap[storeSku.StoreID] = append(actStoreSkuMap[storeSku.StoreID], storeSku)
|
actStoreSkuMap[v.StoreID] = append(actStoreSkuMap[v.StoreID], v)
|
||||||
}
|
}
|
||||||
return actStoreSkuMap
|
return actStoreSkuMap
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ func ActivitySkuUpdateBatch(activityID int64, actSkuInfoList []*ebaiapi.Activity
|
|||||||
func (c *PurchaseHandler) CreateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
func (c *PurchaseHandler) CreateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
||||||
activity := act2EbaiActivity(act, actOrderRules)
|
activity := act2EbaiActivity(act, actOrderRules)
|
||||||
if act.Type < model.ActOrderBegin {
|
if act.Type < model.ActOrderBegin {
|
||||||
actStoreSkuMap := partner.ActStoreSku2Map(actStoreSku)
|
actStoreSkuMap := partner.SplitActStoreSku(actStoreSku)
|
||||||
task := tasksch.NewParallelTask("ebai CreateAct", nil, ctx,
|
task := tasksch.NewParallelTask("ebai CreateAct", nil, ctx,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
store := batchItemList[0].(*model.ActStore2)
|
store := batchItemList[0].(*model.ActStore2)
|
||||||
@@ -122,7 +122,7 @@ func (c *PurchaseHandler) CreateAct(ctx *jxcontext.Context, parentTask tasksch.I
|
|||||||
|
|
||||||
func (c *PurchaseHandler) UpdateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap2Remove, actStoreMap2Add, actStoreMap2Update []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
func (c *PurchaseHandler) UpdateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap2Remove, actStoreMap2Add, actStoreMap2Update []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
||||||
if act.Type < model.ActOrderBegin {
|
if act.Type < model.ActOrderBegin {
|
||||||
actStoreSkuMap := partner.ActStoreSku2Map(actStoreSku)
|
actStoreSkuMap := partner.SplitActStoreSku(actStoreSku)
|
||||||
if len(actStoreMap2Remove) > 0 {
|
if len(actStoreMap2Remove) > 0 {
|
||||||
if err = c.CancelAct(ctx, parentTask, act, actStoreMap2Remove, nil); err != nil {
|
if err = c.CancelAct(ctx, parentTask, act, actStoreMap2Remove, nil); err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ func createOneShopAct(act *model.Act2, storeMap *model.ActStore2, actStoreSku []
|
|||||||
func (c *PurchaseHandler) CreateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
func (c *PurchaseHandler) CreateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
||||||
globals.SugarLogger.Debugf("mtwm CreateAct actID:%d", act.ID)
|
globals.SugarLogger.Debugf("mtwm CreateAct actID:%d", act.ID)
|
||||||
if act.Type < model.ActOrderBegin {
|
if act.Type < model.ActOrderBegin {
|
||||||
actStoreSkuMap := partner.ActStoreSku2Map(actStoreSku)
|
actStoreSkuMap := partner.SplitActStoreSku(actStoreSku)
|
||||||
task := tasksch.NewParallelTask("mtwm CreateAct", nil, ctx,
|
task := tasksch.NewParallelTask("mtwm CreateAct", nil, ctx,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
store := batchItemList[0].(*model.ActStore2)
|
store := batchItemList[0].(*model.ActStore2)
|
||||||
@@ -106,7 +106,7 @@ func (c *PurchaseHandler) CreateAct(ctx *jxcontext.Context, parentTask tasksch.I
|
|||||||
|
|
||||||
func (c *PurchaseHandler) UpdateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap2Remove, actStoreMap2Add, actStoreMap2Update []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
func (c *PurchaseHandler) UpdateAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreMap2Remove, actStoreMap2Add, actStoreMap2Update []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
||||||
if act.Type < model.ActOrderBegin {
|
if act.Type < model.ActOrderBegin {
|
||||||
actStoreSkuMap := partner.ActStoreSku2Map(actStoreSku)
|
actStoreSkuMap := partner.SplitActStoreSku(actStoreSku)
|
||||||
if len(actStoreMap2Remove) > 0 {
|
if len(actStoreMap2Remove) > 0 {
|
||||||
if err = c.CancelAct(ctx, parentTask, act, actStoreMap2Remove, nil); err != nil {
|
if err = c.CancelAct(ctx, parentTask, act, actStoreMap2Remove, nil); err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -148,7 +148,7 @@ func (c *PurchaseHandler) UpdateAct(ctx *jxcontext.Context, parentTask tasksch.I
|
|||||||
|
|
||||||
func (c *PurchaseHandler) CancelAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actStoreMap []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
func (c *PurchaseHandler) CancelAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actStoreMap []*model.ActStore2, actStoreSku []*model.ActStoreSku2) (err error) {
|
||||||
if act.Type < model.ActOrderBegin {
|
if act.Type < model.ActOrderBegin {
|
||||||
actStoreSkuMap := partner.ActStoreSku2Map(actStoreSku)
|
actStoreSkuMap := partner.SplitActStoreSku(actStoreSku)
|
||||||
task := tasksch.NewParallelTask("mtwm DeleteAct", nil, ctx,
|
task := tasksch.NewParallelTask("mtwm DeleteAct", nil, ctx,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
v := batchItemList[0].(*model.ActStore2)
|
v := batchItemList[0].(*model.ActStore2)
|
||||||
|
|||||||
Reference in New Issue
Block a user