- 修复putils中几个unselect函数的BUG
- syncStoreSkuNew中忽略更新数据库错误,返回原始的同步错
This commit is contained in:
@@ -352,7 +352,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo
|
||||
successList = batchedStoreSkuList
|
||||
}
|
||||
if len(successList) > 0 {
|
||||
_, err = updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(successList), model.SyncFlagDeletedMask)
|
||||
updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(successList), model.SyncFlagDeletedMask)
|
||||
}
|
||||
return nil, err
|
||||
}, ctx, task, deleteList, 1 /*singleStoreHandler.GetStoreSkusBatchSize(partner.FuncDeleteStoreSkus)*/, isContinueWhenError)
|
||||
@@ -376,7 +376,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo
|
||||
successList = batchedStoreSkuList
|
||||
}
|
||||
if len(successList) > 0 {
|
||||
_, err = updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
||||
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
||||
}
|
||||
return nil, err
|
||||
}, ctx, task, createList, 1 /*singleStoreHandler.GetStoreSkusBatchSize(partner.FuncCreateStoreSkus)*/, isContinueWhenError)
|
||||
@@ -389,7 +389,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo
|
||||
successList = batchedStoreSkuList
|
||||
}
|
||||
if len(successList) > 0 {
|
||||
_, err = updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagModifiedMask)
|
||||
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagModifiedMask)
|
||||
}
|
||||
return nil, err
|
||||
}, ctx, task, updateList, singleStoreHandler.GetStoreSkusBatchSize(partner.FuncUpdateStoreSkus), isContinueWhenError)
|
||||
@@ -403,7 +403,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo
|
||||
successList = batchedStoreSkuList
|
||||
}
|
||||
if k == 0 && len(successList) > 0 {
|
||||
_, err = updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(batchedStoreSkuList), model.SyncFlagModifiedMask) // ?
|
||||
updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(successList), model.SyncFlagModifiedMask) // ?
|
||||
}
|
||||
return nil, err
|
||||
}, ctx, task, list, storeSkuHandler.GetStoreSkusBatchSize(partner.FuncUpdateStoreSkusStock), isContinueWhenError)
|
||||
@@ -423,7 +423,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo
|
||||
successList = batchedStoreSkuList
|
||||
}
|
||||
if len(successList) > 0 {
|
||||
_, err = updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(batchedStoreSkuList), model.SyncFlagSaleMask)
|
||||
updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(successList), model.SyncFlagSaleMask)
|
||||
}
|
||||
return nil, err
|
||||
}, ctx, task, statusList, storeSkuHandler.GetStoreSkusBatchSize(partner.FuncUpdateStoreSkusStatus), isContinueWhenError)
|
||||
@@ -436,7 +436,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo
|
||||
successList = batchedStoreSkuList
|
||||
}
|
||||
if len(successList) > 0 {
|
||||
_, err = updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(batchedStoreSkuList), model.SyncFlagPriceMask)
|
||||
updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(successList), model.SyncFlagPriceMask)
|
||||
}
|
||||
return nil, err
|
||||
}, ctx, task, priceList, storeSkuHandler.GetStoreSkusBatchSize(partner.FuncUpdateStoreSkusPrice), isContinueWhenError)
|
||||
|
||||
@@ -146,6 +146,14 @@ func IntMap2List(intMap map[int]int) []int {
|
||||
return retVal
|
||||
}
|
||||
|
||||
func IntList2Map(intList []int) map[int]int {
|
||||
retVal := make(map[int]int)
|
||||
for _, v := range intList {
|
||||
retVal[v] = 1
|
||||
}
|
||||
return retVal
|
||||
}
|
||||
|
||||
func Int64Map2List(int64Map map[int64]int) []int64 {
|
||||
retVal := make([]int64, len(int64Map))
|
||||
index := 0
|
||||
@@ -166,6 +174,14 @@ func StringMap2List(stringMap map[string]int) []string {
|
||||
return retVal
|
||||
}
|
||||
|
||||
func StringList2Map(strList []string) map[string]int {
|
||||
retVal := make(map[string]int)
|
||||
for _, v := range strList {
|
||||
retVal[v] = 1
|
||||
}
|
||||
return retVal
|
||||
}
|
||||
|
||||
func RegularizeSkuQuality(specQuality float32, specUnit string) (g int) {
|
||||
lowerSpecUnit := strings.ToLower(specUnit)
|
||||
if lowerSpecUnit == "kg" || lowerSpecUnit == "l" {
|
||||
|
||||
@@ -4,6 +4,8 @@ import (
|
||||
"fmt"
|
||||
"sort"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||
@@ -203,10 +205,10 @@ func StoreSkuList2MapBySkuID(storeSkuList []*partner.StoreSkuInfo) (storeSkuMap
|
||||
|
||||
func UnselectStoreSkuListByVendorSkuIDs(storeSkuList []*partner.StoreSkuInfo, vendorSkuIDs []string) (selectedStoreSkuList []*partner.StoreSkuInfo) {
|
||||
if len(vendorSkuIDs) > 0 {
|
||||
storeSkuMap := StoreSkuList2MapByVendorSkuID(storeSkuList)
|
||||
for _, v := range vendorSkuIDs {
|
||||
if storeSkuMap[v] != nil {
|
||||
selectedStoreSkuList = append(selectedStoreSkuList, storeSkuMap[v])
|
||||
vendorSkuIDMap := jxutils.StringList2Map(vendorSkuIDs)
|
||||
for _, v := range storeSkuList {
|
||||
if vendorSkuIDMap[v.VendorSkuID] == 0 {
|
||||
selectedStoreSkuList = append(selectedStoreSkuList, v)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -217,13 +219,10 @@ func UnselectStoreSkuListByVendorSkuIDs(storeSkuList []*partner.StoreSkuInfo, ve
|
||||
|
||||
func UnselectStoreSkuSyncListByVendorSkuIDs(storeSkuList []*dao.StoreSkuSyncInfo, vendorSkuIDs []string) (selectedStoreSkuList []*dao.StoreSkuSyncInfo) {
|
||||
if len(vendorSkuIDs) > 0 {
|
||||
storeSkuMap := make(map[string]*dao.StoreSkuSyncInfo)
|
||||
vendorSkuIDMap := jxutils.StringList2Map(vendorSkuIDs)
|
||||
for _, v := range storeSkuList {
|
||||
storeSkuMap[v.VendorSkuID] = v
|
||||
}
|
||||
for _, v := range vendorSkuIDs {
|
||||
if storeSkuMap[v] != nil {
|
||||
selectedStoreSkuList = append(selectedStoreSkuList, storeSkuMap[v])
|
||||
if vendorSkuIDMap[v.VendorSkuID] == 0 {
|
||||
selectedStoreSkuList = append(selectedStoreSkuList, v)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -234,10 +233,10 @@ func UnselectStoreSkuSyncListByVendorSkuIDs(storeSkuList []*dao.StoreSkuSyncInfo
|
||||
|
||||
func UnselectStoreSkuListBySkuIDs(storeSkuList []*partner.StoreSkuInfo, skuIDs []int) (selectedStoreSkuList []*partner.StoreSkuInfo) {
|
||||
if len(skuIDs) > 0 {
|
||||
storeSkuMap := StoreSkuList2MapBySkuID(storeSkuList)
|
||||
for _, v := range skuIDs {
|
||||
if storeSkuMap[v] != nil {
|
||||
selectedStoreSkuList = append(selectedStoreSkuList, storeSkuMap[v])
|
||||
skuIDMap := jxutils.IntList2Map(skuIDs)
|
||||
for _, v := range storeSkuList {
|
||||
if skuIDMap[v.SkuID] == 0 {
|
||||
selectedStoreSkuList = append(selectedStoreSkuList, v)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user