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,
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 skuVendibilityList []*jdapi.StockVendibility
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 {
syncMask |= model.SyncFlagPriceMask
} else {
isPartialFailed = isErrPartialFailed(err)
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 {
err = fmt.Errorf("%v", errList)
}
return err
return isPartialFailed, err
}
err = doWork(batchItemList)
if isErrPartialFailed(err) && len(batchItemList) > 1 {
isErrPartialFailed, err := doWork(batchItemList)
if isErrPartialFailed && len(batchItemList) > 1 {
for _, v := range batchItemList {
doWork([]interface{}{v})
}