This commit is contained in:
苏尹岚
2021-03-17 17:55:37 +08:00
parent f0d41bc043
commit c4bcc120a4

View File

@@ -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
}