diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 2759a04b5..e2e4dd56c 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2199,25 +2199,33 @@ func writeToExcel(excelTitle []string, dataList interface{}, ctx *jxcontext.Cont func RefreshJdDepot(ctx *jxcontext.Context) (err error) { var ( - page = 1 - pageSize = 20 - searchResults []*jdapi.SearchDeleteWareResult - db = dao.GetDB() + pageSize = 20 + searchResults []*jdapi.SearchDeleteWareResult + searchResultsInterface []interface{} + db = dao.GetDB() + pageList []int ) - for ; page < 367; page++ { - searchDeleteWareResults, err := api.JdAPI.SearchDeleteWare("2020-04-22", "2020-04-23", page, pageSize) - if err == nil && len(searchDeleteWareResults) > 0 { - searchResults = append(searchResults, searchDeleteWareResults...) - } + for i := 1; i < 367; i++ { + pageList = append(pageList, i) + } + task := tasksch.NewParallelTask("RefreshOrdersPriceInfo", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + page := batchItemList[0].(int) + searchDeleteWareResults, err := api.JdAPI.SearchDeleteWare("2020-04-22", "2020-04-23", page, pageSize) + if err == nil && len(searchDeleteWareResults) > 0 { + for _, v := range searchDeleteWareResults { + retVal = []*jdapi.SearchDeleteWareResult{v} + } + } + return retVal, err + }, pageList) + tasksch.HandleTask(task, nil, true).Run() + searchResultsInterface, err = task.GetResult(0) + for _, v := range searchResultsInterface { + searchResults = append(searchResults, v.(*jdapi.SearchDeleteWareResult)) } for _, v := range searchResults { - if v.SkuID == 6042327 { - continue - } - if v.SkuID == 6042324 { - continue - } - if v.SkuID != 6042319 { + if v.SkuID == 6042327 || v.SkuID == 6042324 || v.SkuID == 6042319 { continue } param := &jdapi.OpSkuParam{