This commit is contained in:
suyl
2021-05-21 10:38:13 +08:00
parent 3271c472b3
commit 3517ab6a33
2 changed files with 44 additions and 34 deletions

View File

@@ -2935,60 +2935,68 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven
return err return err
} }
func RefreshNoImgSku(ctx *jxcontext.Context) (err error) { func RefreshNoImgSku(ctx *jxcontext.Context, skuNameID int) (err error) {
var ( var (
db = dao.GetDB() db = dao.GetDB()
skuNames []*model.SkuName skuNames []*model.SkuName
) )
sql := ` sql := `
SELECT * FROM sku_name WHERE deleted_at = ? AND upc <> '' AND img2 = '' SELECT * FROM sku_name WHERE deleted_at = ? AND upc <> '' AND img <> ''
` `
sqlParams := []interface{}{ sqlParams := []interface{}{
utils.DefaultTimeValue, utils.DefaultTimeValue,
} }
if skuNameID > 0 {
sql += " AND id = ?"
sqlParams = append(sqlParams, skuNameID)
}
dao.GetRows(db, &skuNames, sql, sqlParams) dao.GetRows(db, &skuNames, sql, sqlParams)
task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
v := batchItemList[0].(*model.SkuName) v := batchItemList[0].(*model.SkuName)
if v.Upc != nil { data, _, _ := jxutils.DownloadFileByURL(v.Img)
productInfos, _ := api.JdAPI.GetJdUpcCodeByName("", *v.Upc, 1, 30) if string(data) == "" {
if len(productInfos) > 0 { if v.Upc != nil {
productInfo := productInfos[0] productInfos, _ := api.JdAPI.GetJdUpcCodeByName("", *v.Upc, 1, 30)
if len(productInfo.ImgList) >= 5 { if len(productInfos) > 0 {
v.Img = productInfo.ImgList[0] productInfo := productInfos[0]
v.Img2 = productInfo.ImgList[1] if len(productInfo.ImgList) >= 5 {
v.Img3 = productInfo.ImgList[2] v.Img = productInfo.ImgList[0]
v.Img4 = productInfo.ImgList[3] v.Img2 = productInfo.ImgList[1]
v.Img5 = productInfo.ImgList[4] 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) {
setImgs2(v, imgs)
} else {
setImgs2(v, productInfo.ImgList)
}
}
} else {
setImgs2(v, productInfo.ImgList)
}
}
} else { } else {
result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc)
if result != nil { if result != nil {
imgs := strings.Split(result.Pic, ",") imgs := strings.Split(result.Pic, ",")
if len(imgs) >= 5 { setImgs2(v, imgs)
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) {
setImgs2(v, imgs)
} else {
setImgs2(v, productInfo.ImgList)
}
}
} else {
setImgs2(v, productInfo.ImgList)
} }
} }
} else { dao.UpdateEntity(db, v, "Img", "Img2", "Img3", "Img4", "Img5")
result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc)
if result != nil {
imgs := strings.Split(result.Pic, ",")
setImgs2(v, imgs)
}
} }
dao.UpdateEntity(db, v, "Img", "Img2", "Img3", "Img4", "Img5")
} }
return retVal, err return retVal, err
}, skuNames) }, skuNames)

View File

@@ -687,11 +687,13 @@ func (c *SkuController) LoadStoreVendorCategories() {
// @Title 刷新没图的商品 // @Title 刷新没图的商品
// @Description 刷新没图的商品 // @Description 刷新没图的商品
// @Param token header string true "认证token" // @Param token header string true "认证token"
// @Param skuNameID formData int false "门店ID"
// @Success 200 {object} controllers.CallResult // @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult
// @router /RefreshNoImgSku [post] // @router /RefreshNoImgSku [post]
func (c *SkuController) RefreshNoImgSku() { func (c *SkuController) RefreshNoImgSku() {
c.callRefreshNoImgSku(func(params *tSkuRefreshNoImgSkuParams) (retVal interface{}, errCode string, err error) { c.callRefreshNoImgSku(func(params *tSkuRefreshNoImgSkuParams) (retVal interface{}, errCode string, err error) {
err = cms.RefreshNoImgSku(params.Ctx, params.SkuNameID)
return retVal, "", err return retVal, "", err
}) })
} }