This commit is contained in:
gazebo
2019-06-13 11:50:29 +08:00
parent 19908aee23
commit 35caf649c7

View File

@@ -43,7 +43,7 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks
// } // }
task := tasksch.NewParallelTask("syncStoreSkus京东", tasksch.NewParallelConfig().SetBatchSize(batchSize).SetIsContinueWhenError(isContinueWhenError), ctx, task := tasksch.NewParallelTask("syncStoreSkus京东", tasksch.NewParallelConfig().SetBatchSize(batchSize).SetIsContinueWhenError(isContinueWhenError), ctx,
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
doWork := func(batchItemList []interface{}) (err error) { doWork := func(batchItemList []interface{}) (isPartialFailed bool, err error) {
var skuPriceInfoList []*jdapi.SkuPriceInfo var skuPriceInfoList []*jdapi.SkuPriceInfo
var skuVendibilityList []*jdapi.StockVendibility var skuVendibilityList []*jdapi.StockVendibility
var skuStockList []*jdapi.SkuStock var skuStockList []*jdapi.SkuStock
@@ -119,6 +119,7 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks
if _, err = api.JdAPI.UpdateVendorStationPrice("", stationNo, skuPriceInfoList); err == nil { if _, err = api.JdAPI.UpdateVendorStationPrice("", stationNo, skuPriceInfoList); err == nil {
syncMask |= model.SyncFlagPriceMask syncMask |= model.SyncFlagPriceMask
} else { } else {
isPartialFailed = isErrPartialFailed(err)
errList = append(errList, partner.NewErrorCode(err.Error(), partner.ErrCodeChangePriceFailed, model.VendorIDJD)) errList = append(errList, partner.NewErrorCode(err.Error(), partner.ErrCodeChangePriceFailed, model.VendorIDJD))
} }
} }
@@ -141,10 +142,10 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks
} else if len(errList) > 1 { } else if len(errList) > 1 {
err = fmt.Errorf("%v", errList) err = fmt.Errorf("%v", errList)
} }
return err return isPartialFailed, err
} }
err = doWork(batchItemList) isErrPartialFailed, err := doWork(batchItemList)
if isErrPartialFailed(err) && len(batchItemList) > 1 { if isErrPartialFailed && len(batchItemList) > 1 {
for _, v := range batchItemList { for _, v := range batchItemList {
doWork([]interface{}{v}) doWork([]interface{}{v})
} }