diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 683bdf254..41d85f2bd 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -10,6 +10,7 @@ import ( "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/partner/delivery" + "git.rosy.net.cn/jx-callback/business/partner/putils" "github.com/360EntSecGroup-Skylar/excelize" "github.com/qiniu/api.v7/storage" @@ -1808,21 +1809,43 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { } } } - if len(priceList) > 0 { - for k, v := range priceList { - if len(v) > 50 { - for i := 0; i < len(v)/50+1; i++ { - j := i - if i == len(v)/50+1 { - handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, v[j:len(v)]) - } else { - handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, v[j:50*(j+1)]) + task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + step := batchItemList[0].(int) + switch step { + case 0: + if len(priceList) > 0 { + for k, v := range priceList { + _, err = putils.FreeBatchStoreSkuInfo("更新门店商品价格", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { + handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, batchedStoreSkuList) + return nil, 1, err + }, ctx, task, v, 50, true) } - j += 50 } + case 1: + } - } - } + return retVal, err + }, []int{0, 1, 2, 3}) + tasksch.HandleTask(task, nil, true).Run() + _, err = task.GetResult(0) + return err + + // if len(priceList) > 0 { + // for k, v := range priceList { + // if len(v) > 50 { + // for i := 0; i < len(v)/50+1; i++ { + // j := i + // if i == len(v)/50+1 { + // handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, v[j:len(v)]) + // } else { + // handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, v[j:50*(j+1)]) + // } + // j += 50 + // } + // } + // } + // } if len(statusList1) > 0 { // for k, v := range statusList1 { // handler.UpdateStoreSkusStatus(ctx, vendorOrgCode, 0, k, v, v[0].Status)