From bbc1ce9247e28effb684df3a90ffb51e1f8d2aab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 3 Jun 2020 08:31:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BA=AC=E4=B8=9C=E5=95=86?= =?UTF-8?q?=E5=9F=8E=E5=BA=93=E5=AD=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync.go | 42 ++++++++++-------------------------- 1 file changed, 11 insertions(+), 31 deletions(-) diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index a2bac5eef..5bd661a85 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -1115,14 +1115,12 @@ func (v *VendorSync) SyncJdsStoresSkus(ctx *jxcontext.Context, storeIDs []int, i func syncJdsStoresSkus(ctx *jxcontext.Context, db *dao.DaoDB, parentTask tasksch.ITask, storeMap *model.StoreMap, isAsync, isContinueWhenError bool) (hint string, err error) { var ( - mainSkusMap = make(map[int]*model.StoreSkuBind) - skusMap = make(map[int]*model.StoreSkuBind) - updateList []*model.StoreSkuBind - addList []*model.StoreSkuBind - skuBindInfos1 []*StoreSkuBindInfo - skuBindInfos2 []*StoreSkuBindInfo - resultInterface1 []interface{} - resultInterface2 []interface{} + mainSkusMap = make(map[int]*model.StoreSkuBind) + skusMap = make(map[int]*model.StoreSkuBind) + updateList []*model.StoreSkuBind + addList []*model.StoreSkuBind + skuBindInfos1 []*StoreSkuBindInfo + skuBindInfos2 []*StoreSkuBindInfo ) storeSkusMain, err := dao.GetStoresSkusInfo(db, []int{model.JdShopMainStoreID}, nil) for _, v := range storeSkusMain { @@ -1142,46 +1140,28 @@ func syncJdsStoresSkus(ctx *jxcontext.Context, db *dao.DaoDB, parentTask tasksch } } } - // fmt.Println("updateList", utils.Format4Output(updateList, false)) - // fmt.Println("addList", utils.Format4Output(addList, false)) task := tasksch.NewParallelTask("正在同步京东商城的库存商品", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx, func(ptTask *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { step := batchItemList[0].(int) switch step { case 0: if len(updateList) > 0 { - task := tasksch.NewParallelTask("同步门店库存", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeBind := batchItemList[0].(*model.StoreSkuBind) - retVal = []*StoreSkuBindInfo{buildStoreSkuBindInfo(db, storeMap.StoreID, storeBind, false)} - return retVal, err - }, updateList) - tasksch.HandleTask(task, ptTask, false).Run() - resultInterface1, err = task.GetResult(0) - for _, v := range resultInterface1 { - skuBindInfos1 = append(skuBindInfos1, v.(*StoreSkuBindInfo)) + for _, v := range updateList { + skuBindInfos1 = append(skuBindInfos1, buildStoreSkuBindInfo(db, storeMap.StoreID, v, false)) } hint, err = UpdateStoresSkusByBind(ctx, ptTask, skuBindInfos1, isAsync, isContinueWhenError, false) } case 1: if len(addList) > 0 { - task := tasksch.NewParallelTask("同步门店商品", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeBind := batchItemList[0].(*model.StoreSkuBind) - retVal = []*StoreSkuBindInfo{buildStoreSkuBindInfo(db, storeMap.StoreID, storeBind, true)} - return retVal, err - }, addList) - tasksch.HandleTask(task, ptTask, false).Run() - resultInterface2, err = task.GetResult(0) - for _, v := range resultInterface2 { - skuBindInfos2 = append(skuBindInfos2, v.(*StoreSkuBindInfo)) + for _, v := range addList { + skuBindInfos2 = append(skuBindInfos2, buildStoreSkuBindInfo(db, storeMap.StoreID, v, false)) } hint, err = UpdateStoresSkusByBind(ctx, ptTask, skuBindInfos2, isAsync, isContinueWhenError, false) } } return retVal, err }, []int{0, 1}) - tasksch.HandleTask(task, nil, true).Run() + tasksch.HandleTask(task, parentTask, true).Run() if isAsync { hint = task.GetID() } else {