- 新版同步逻辑编译通过,欠SKU的创建已存在与删除不存在判断逻辑
This commit is contained in:
@@ -28,7 +28,7 @@ func (p *DefSingleStorePlatform) DeleteStoreAllSkus(ctx *jxcontext.Context, pare
|
||||
}
|
||||
}
|
||||
_, err = FreeBatchStoreSkuInfo(func(batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, err error) {
|
||||
err = p.DeleteStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList)
|
||||
_, err = p.DeleteStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList)
|
||||
return nil, err
|
||||
}, ctx, parentTask, storeStoreList, p.GetStoreSkusBatchSize(partner.FuncDeleteStoreSkus), isContinueWhenError)
|
||||
return err
|
||||
@@ -184,3 +184,65 @@ func FreeBatchCategoryIDOp(handler func(vendorCatID string) (err error), ctx *jx
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func StoreSkuList2MapByVendorSkuID(storeSkuList []*partner.StoreSkuInfo) (storeSkuMap map[string]*partner.StoreSkuInfo) {
|
||||
storeSkuMap = make(map[string]*partner.StoreSkuInfo)
|
||||
for _, v := range storeSkuList {
|
||||
storeSkuMap[v.VendorSkuID] = v
|
||||
}
|
||||
return storeSkuMap
|
||||
}
|
||||
|
||||
func StoreSkuList2MapBySkuID(storeSkuList []*partner.StoreSkuInfo) (storeSkuMap map[int]*partner.StoreSkuInfo) {
|
||||
storeSkuMap = make(map[int]*partner.StoreSkuInfo)
|
||||
for _, v := range storeSkuList {
|
||||
storeSkuMap[v.SkuID] = v
|
||||
}
|
||||
return 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])
|
||||
}
|
||||
}
|
||||
}
|
||||
return selectedStoreSkuList
|
||||
}
|
||||
|
||||
func UnselectStoreSkuSyncListByVendorSkuIDs(storeSkuList []*dao.StoreSkuSyncInfo, vendorSkuIDs []string) (selectedStoreSkuList []*dao.StoreSkuSyncInfo) {
|
||||
if len(vendorSkuIDs) > 0 {
|
||||
storeSkuMap := make(map[string]*dao.StoreSkuSyncInfo)
|
||||
for _, v := range storeSkuList {
|
||||
storeSkuMap[v.VendorSkuID] = v
|
||||
}
|
||||
for _, v := range vendorSkuIDs {
|
||||
if storeSkuMap[v] != nil {
|
||||
selectedStoreSkuList = append(selectedStoreSkuList, storeSkuMap[v])
|
||||
}
|
||||
}
|
||||
}
|
||||
return selectedStoreSkuList
|
||||
}
|
||||
|
||||
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])
|
||||
}
|
||||
}
|
||||
}
|
||||
return selectedStoreSkuList
|
||||
}
|
||||
|
||||
func GenPartialFailedErr(failedInfo interface{}, failedCount int) (err error) {
|
||||
if failedCount > 0 {
|
||||
err = fmt.Errorf("部分失败了%d个:%s", failedCount, utils.Format4Output(failedInfo, true))
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user