diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 215f90293..b8f8d7155 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -580,22 +580,27 @@ func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, act for vendorID, act := range actMap { isDeleteAll := true isDeleteAtLeastOne := false - actStoreSkuMap := partner.SplitActStoreSku(actStoreSkuMap[vendorID]) - for storeID := range actStoreSkuMap { - for _, actStoreSku := range actStoreSkuMap[storeID] { - if actStoreSkuParam == nil || actStoreSkuParamMap[jxutils.Combine2Int(actStoreSku.StoreID, actStoreSku.SkuID)] != nil { - if _, err = dao.UpdateEntityLogically(db, partner.ActStoreSku2ActStoreSkuMap(actStoreSku), - map[string]interface{}{ - model.FieldSyncStatus: actStoreSku.SyncStatus | model.SyncFlagDeletedMask, - }, ctx.GetUserName(), nil); err != nil { - return err + if actStoreSkuParam != nil { + actStoreSkuMap := partner.SplitActStoreSku(actStoreSkuMap[vendorID]) + for storeID := range actStoreSkuMap { + for _, actStoreSku := range actStoreSkuMap[storeID] { + if actStoreSkuParam == nil || actStoreSkuParamMap[jxutils.Combine2Int(actStoreSku.StoreID, actStoreSku.SkuID)] != nil { + if _, err = dao.UpdateEntityLogically(db, partner.ActStoreSku2ActStoreSkuMap(actStoreSku), + map[string]interface{}{ + model.FieldSyncStatus: actStoreSku.SyncStatus | model.SyncFlagDeletedMask, + }, ctx.GetUserName(), nil); err != nil { + return err + } + isDeleteAtLeastOne = true + } else { + isNeedCancelAct = false + isDeleteAll = false } - isDeleteAtLeastOne = true - } else { - isNeedCancelAct = false - isDeleteAll = false } } + } else { + isDeleteAll = true + isDeleteAtLeastOne = true } if isDeleteAll || isDeleteAtLeastOne { syncStatus := model.SyncFlagModifiedMask