- 新版同步逻辑编译通过,欠SKU的创建已存在与删除不存在判断逻辑

This commit is contained in:
gazebo
2019-07-21 21:29:28 +08:00
parent 5b297fcdf2
commit 8812d4056d
7 changed files with 317 additions and 114 deletions

View File

@@ -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
}