diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 8cb7121b8..c3434a12a 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1888,117 +1888,146 @@ 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() - vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} - // messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 + db = dao.GetDB() + skuNames []*model.SkuName ) - task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, + sql := ` + SELECT * FROM sku_name WHERE deleted_at = ? AND upc <> '' AND img2 = '' + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + } + dao.GetRows(db, &skuNames, sql, sqlParams) + task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().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, []int{model.StoreStatusOpened, model.StoreStatusClosed, model.StoreStatusHaveRest}, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") - storeManageStates, err := dao.GetStoreManageStateSimple(db, nil, nil, vendorID) - var ( - storeMapsMap = make(map[int]*model.StoreMap) - storeManagesMap = make(map[int]*model.StoreManageState) - deleteList []int - createList, updateList []*model.StoreMap - ) - for _, v := range storeMaps { - storeMapsMap[v.StoreID] = v - } - for _, v := range storeManageStates { - storeManagesMap[v.StoreID] = v - if storeMapsMap[v.StoreID] != nil { - updateList = append(updateList, storeMapsMap[v.StoreID]) + v := batchItemList[0].(*model.SkuName) + if v.Upc != nil { + productInfos, _ := api.JdAPI.GetJdUpcCodeByName("", *v.Upc, 1, 30) + if len(productInfos) > 0 { + productInfo := productInfos[0] + if len(productInfo.ImgList) >= 5 { + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + } else { + result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + if result != nil { + imgs := strings.Split(result.Pic, ",") + if len(imgs) >= 5 { + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } else { + if len(imgs) > len(productInfo.ImgList) { + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + } else { + switch len(productInfo.ImgList) { + case 0: + case 1: + v.Img = productInfo.ImgList[0] + case 2: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + case 3: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + case 4: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + case 5: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + default: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + } + } + } + } + } } else { - deleteList = append(deleteList, v.StoreID) + result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + if result != nil { + imgs := strings.Split(result.Pic, ",") + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + } } + dao.UpdateEntity(db, v, "Img", "Img2", "Img3", "Img4", "Img5") } - for _, v := range storeMapsMap { - if storeManagesMap[v.StoreID] == nil { - 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) return retVal, err - }, vendorIDs) + }, skuNames) tasksch.HandleTask(task, nil, true).Run() - task.GetID() + _, err = task.GetResult(0) return err }