This commit is contained in:
苏尹岚
2021-03-19 09:18:34 +08:00
parent 875c29f655
commit 3c6d727423
4 changed files with 186 additions and 194 deletions

View File

@@ -3065,3 +3065,177 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven
}
return err
}
func RefreshNoImgSku(ctx *jxcontext.Context) (err error) {
var (
db = dao.GetDB()
skuNames []*model.SkuName
)
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().SetParallelCount(20).SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
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 {
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 {
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")
}
return retVal, err
}, skuNames)
tasksch.HandleTask(task, nil, true).Run()
_, err = task.GetResult(0)
return err
}

View File

@@ -1865,199 +1865,6 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// }, storeMaps)
// tasksch.HandleTask(task, nil, true).Run()
// _, err = task.GetResult(0)
// var (
// storeMaps []*model.StoreMap
// db = dao.GetDB()
// )
// storeMaps, err = dao.GetStoresMapList(db, []int{3}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "")
// task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeMap := batchItemList[0].(*model.StoreMap)
// if storeMap.CoverArea == 0 {
// handler := partner.GetPurchasePlatformFromVendorID(storeMap.VendorID)
// if store, err := handler.ReadStore(ctx, storeMap.VendorOrgCode, storeMap.VendorStoreID); err == nil {
// if storeMap.VendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon {
// storeMap.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000)
// } else {
// storeMap.CoverArea = report.CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), storeMap.VendorID)
// }
// dao.UpdateEntity(db, storeMap, "CoverArea")
// }
// }
// return retVal, err
// }, storeMaps)
// tasksch.HandleTask(task, nil, true).Run()
// _, err = task.GetResult(0)
var (
db = dao.GetDB()
skuNames []*model.SkuName
)
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().SetParallelCount(20).SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
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 {
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 {
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")
}
return retVal, err
}, skuNames)
tasksch.HandleTask(task, nil, true).Run()
_, err = task.GetResult(0)
return err
}

View File

@@ -691,5 +691,7 @@ func (c *SkuController) LoadStoreVendorCategories() {
// @Failure 200 {object} controllers.CallResult
// @router /RefreshNoImgSku [post]
func (c *SkuController) RefreshNoImgSku() {
c.callRefreshNoImgSku(func(params *tSkuRefreshNoImgSkuParams) (retVal interface{}, errCode string, err error) {
return retVal, "", err
})
}

View File

@@ -1836,6 +1836,15 @@ func init() {
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"],
beego.ControllerComments{
Method: "RefreshNoImgSku",
Router: `/RefreshNoImgSku`,
AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"],
beego.ControllerComments{
Method: "ReorderCategories",