From 9dc520daa33bf9ef1587bf95252ee88d006d8663 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, 17 Mar 2021 14:52:46 +0800 Subject: [PATCH] aa --- business/jxstore/report/report.go | 82 ++++++++--------- business/jxstore/tempop/tempop.go | 145 +++++++++++++++++++++++------- 2 files changed, 152 insertions(+), 75 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 073b4c7a2..b45b708f9 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,9 +397,9 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM func RefreshStoreManageState(ctx *jxcontext.Context) { var ( - db = dao.GetDB() - vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} - messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 + db = dao.GetDB() + vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} + // messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { @@ -429,44 +429,44 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { createList = append(createList, v) } } - task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeID := batchItemList[0].(int) - storeManage := &model.StoreManageState{ - StoreID: storeID, - VendorID: vendorID, - } - dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") - return retVal, err - }, deleteList) - tasksch.HandleTask(task2, task, true).Run() - task2.GetResult(0) - task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - return retVal, err - } - storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.CreateEntity(db, storeManage) - return retVal, err - }, createList) - tasksch.HandleTask(task3, task, true).Run() - task3.GetResult(0) - task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - return retVal, err - } - storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.UpdateEntity(db, storeManage) - return retVal, err - }, updateList) - tasksch.HandleTask(task4, task, true).Run() - task4.GetResult(0) + // task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeID := batchItemList[0].(int) + // storeManage := &model.StoreManageState{ + // StoreID: storeID, + // VendorID: vendorID, + // } + // dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") + // return retVal, err + // }, deleteList) + // tasksch.HandleTask(task2, task, true).Run() + // task2.GetResult(0) + // task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + // return retVal, err + // } + // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + // dao.CreateEntity(db, storeManage) + // return retVal, err + // }, createList) + // tasksch.HandleTask(task3, task, true).Run() + // task3.GetResult(0) + // task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + // return retVal, err + // } + // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + // dao.UpdateEntity(db, storeManage) + // return retVal, err + // }, updateList) + // tasksch.HandleTask(task4, task, true).Run() + // task4.GetResult(0) return retVal, err }, vendorIDs) tasksch.HandleTask(task, nil, true).Run() diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index fd6ddf69f..0e3f551b6 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1888,44 +1888,121 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // }, storeMaps) // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) + // var ( + // db = dao.GetDB() + // skuNames []*model.SkuName + // failedSku []string + // ) + // sql := ` + // SELECT * FROM sku_name WHERE deleted_at = ? AND img = ? + // ` + // sqlParams := []interface{}{ + // utils.DefaultTimeValue, model.NOSkuNameImg, + // } + // dao.GetRows(db, &skuNames, sql, sqlParams) + // for _, v := range skuNames { + // if v.Upc != nil { + // result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + // if result != nil { + // if v.Img == model.NOSkuNameImg { + // imgs := strings.Split(result.Pic, ",") + // if len(imgs) == 1 { + // v.Img = imgs[0] + // } + // if len(imgs) == 2 { + // v.Img = imgs[0] + // v.Img2 = imgs[1] + // } + // if len(imgs) >= 3 { + // v.Img = imgs[0] + // v.Img2 = imgs[1] + // v.Img3 = imgs[2] + // } + // dao.UpdateEntity(db, v, "Img", "Img2", "Img3") + // } + // } else { + // failedSku = append(failedSku, *v.Upc) + // } + // } + // } var ( db = dao.GetDB() - skuNames []*model.SkuName - failedSku []string + vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} + // messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 ) - sql := ` - SELECT * FROM sku_name WHERE deleted_at = ? AND img = ? - ` - sqlParams := []interface{}{ - utils.DefaultTimeValue, model.NOSkuNameImg, - } - dao.GetRows(db, &skuNames, sql, sqlParams) - for _, v := range skuNames { - if v.Upc != nil { - result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) - if result != nil { - if v.Img == model.NOSkuNameImg { - imgs := strings.Split(result.Pic, ",") - if len(imgs) == 1 { - v.Img = imgs[0] - } - if len(imgs) == 2 { - v.Img = imgs[0] - v.Img2 = imgs[1] - } - if len(imgs) >= 3 { - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - } - dao.UpdateEntity(db, v, "Img", "Img2", "Img3") - } - } else { - failedSku = append(failedSku, *v.Upc) + task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + vendorID := batchItemList[0].(int) + storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + paged, err := dao.GetStoreManageState(db, nil, nil, vendorID, 0, 0, model.UnlimitedPageSize) + var ( + storeManageStates = paged.Data.([]*dao.GetStoreManageStateResult) + storeMapsMap = make(map[int]*model.StoreMap) + storeManagesMap = make(map[int]*dao.GetStoreManageStateResult) + deleteList []int + createList, updateList []*model.StoreMap + ) + for _, v := range storeMaps { + storeMapsMap[v.StoreID] = v } - } - } - fmt.Println("failedSku11111111111111111111111111111111", failedSku) + for _, v := range storeManageStates { + storeManagesMap[v.StoreID] = v + if storeMapsMap[v.StoreID] != nil { + updateList = append(updateList, storeMapsMap[v.StoreID]) + } else { + deleteList = append(deleteList, v.StoreID) + } + } + for _, v := range storeMapsMap { + if storeManagesMap[v.StoreID] == nil { + createList = append(createList, v) + } + } + fmt.Println("aaaaaaaaaaaaaaaaa", len(updateList)) + fmt.Println("bbbbbbbbbbbbbbbbbbbbb", utils.Format4Output(deleteList, false)) + fmt.Println("ccccccccccccccccccccccccc", utils.Format4Output(createList, false)) + // task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeID := batchItemList[0].(int) + // storeManage := &model.StoreManageState{ + // StoreID: storeID, + // VendorID: vendorID, + // } + // dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") + // return retVal, err + // }, deleteList) + // tasksch.HandleTask(task2, task, true).Run() + // task2.GetResult(0) + // task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + // return retVal, err + // } + // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + // dao.CreateEntity(db, storeManage) + // return retVal, err + // }, createList) + // tasksch.HandleTask(task3, task, true).Run() + // task3.GetResult(0) + // task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + // return retVal, err + // } + // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + // dao.UpdateEntity(db, storeManage) + // return retVal, err + // }, updateList) + // tasksch.HandleTask(task4, task, true).Run() + // task4.GetResult(0) + return retVal, err + }, vendorIDs) + tasksch.HandleTask(task, nil, true).Run() + task.GetID() return err }