From ad51a01e756b8cf9a59312260bfdd80fd0a12413 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 26 Sep 2019 21:06:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9UploadImg4Vendors=E4=B8=BASku?= =?UTF-8?q?Name.DescImg=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/initdata/initdata.go | 48 +++++++++++++-------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/business/jxstore/initdata/initdata.go b/business/jxstore/initdata/initdata.go index b6792a07a..6942c7e33 100644 --- a/business/jxstore/initdata/initdata.go +++ b/business/jxstore/initdata/initdata.go @@ -287,31 +287,31 @@ func UploadImg4Vendors(ctx *jxcontext.Context, isAsync, isContinueWhenError bool rootTask := tasksch.NewSeqTask("合并SkuName图片至DataResource", ctx, func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { switch step { - case 0: // 计算SkuName中缺失的hashCode - // var skuNameList []*model.SkuName - // if err = dao.GetRows(db, &skuNameList, ` - // SELECT t1.* - // FROM sku_name t1 - // WHERE t1.img <> '' AND t1.img_hash_code = '' - // `); err == nil && len(skuNameList) > 0 { - // calcTask := tasksch.NewParallelTask("UploadImg4Vendors calc hashCode", - // tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError).SetParallelCount(5), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // skuName := batchItemList[0].(*model.SkuName) - // _, skuName.ImgHashCode, err = jxutils.DownloadFileByURL(skuName.Img) - // if err == nil { - // dao.UpdateEntity(db, skuName, "ImgHashCode") - // } - // return retVal, err - // }, skuNameList) - // tasksch.HandleTask(calcTask, task, false).Run() - // _, err = calcTask.GetResult(0) - // } + case 0: // 计算SkuName中缺失的hashCode(注意是DescImg不是Img) + var skuNameList []*model.SkuName + if err = dao.GetRows(db, &skuNameList, ` + SELECT t1.* + FROM sku_name t1 + WHERE t1.desc_img <> '' AND t1.img_hash_code = '' + `); err == nil && len(skuNameList) > 0 { + calcTask := tasksch.NewParallelTask("UploadImg4Vendors calc hashCode", + tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError).SetParallelCount(5), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + skuName := batchItemList[0].(*model.SkuName) + _, skuName.ImgHashCode, err = jxutils.DownloadFileByURL(skuName.DescImg) + if err == nil { + dao.UpdateEntity(db, skuName, "ImgHashCode") + } + return retVal, err + }, skuNameList) + tasksch.HandleTask(calcTask, task, false).Run() + _, err = calcTask.GetResult(0) + } case 1: // 从SkuName添加缺失的图片至DataResource _, err = dao.ExecuteSQL(db, ` INSERT INTO data_resource(created_at, updated_at, last_operator, hash_code, resource_type, name, main_url, ebai_url, qiniu_url, is_vendor) - SELECT t1.created_at, t1.created_at, t1.last_operator, '', + SELECT t1.created_at, t1.created_at, t1.last_operator, t1.img_hash_code, CASE WHEN INSTR(t1.desc_img, ".jpg") > 0 OR INSTR(t1.desc_img, ".jpeg") > 0 THEN 'image/jpeg' @@ -326,14 +326,14 @@ func UploadImg4Vendors(ctx *jxcontext.Context, isAsync, isContinueWhenError bool IF(INSTR(t1.desc_img, "image.jxc4.com") > 0, t1.desc_img, '') qiniu_url, 2 FROM sku_name t1 LEFT JOIN data_resource t2 ON (t2.main_url <> '' AND t2.main_url = t1.desc_img) - WHERE t1.desc_img <> '' AND t2.id IS NULL; + WHERE t1.desc_img <> '' AND t1.img_hash_code <> '' AND t2.id IS NULL; `) case 2: // 统一SkuName中同hashCode,不同图片地址至同一地址 _, err = dao.ExecuteSQL(db, ` UPDATE sku_name t1 JOIN data_resource t2 ON t2.hash_code = t1.img_hash_code AND t2.main_url <> '' - SET t1.img = t2.main_url - WHERE t1.img_hash_code <> '' AND t1.img <> t2.main_url; + SET t1.desc_img = t2.main_url + WHERE t1.img_hash_code <> '' AND t1.desc_img <> t2.main_url; `) case 3: // 上传DataResource中缺失的平台图片 dataResList, err2 := dao.GetNeedUploadDataResource(db)