From 3d916f5dd636de9705426f17aac3cf9352933c41 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 26 Sep 2019 10:31:25 +0800 Subject: [PATCH] =?UTF-8?q?UploadImg4Vendors=E4=B8=AD=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=EF=BC=9A=E7=BB=9F=E4=B8=80SkuName=E4=B8=AD=E5=90=8ChashCode?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E5=90=8C=E5=9B=BE=E7=89=87=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E8=87=B3=E5=90=8C=E4=B8=80=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/initdata/initdata.go | 19 +++++++++++++------ business/jxutils/datares/datares.go | 4 ++-- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/business/jxstore/initdata/initdata.go b/business/jxstore/initdata/initdata.go index c4e4adb0d..9e0a30ef7 100644 --- a/business/jxstore/initdata/initdata.go +++ b/business/jxstore/initdata/initdata.go @@ -343,10 +343,10 @@ func UploadEbaiImg4SkuName(ctx *jxcontext.Context, nameIDs []int, isAsync, isCon func UploadImg4Vendors(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (hint string, err error) { db := dao.GetDB() - rootTask := tasksch.NewSeqTask("UploadImg4Vendors", ctx, + rootTask := tasksch.NewSeqTask("合并SkuName图片至DataResource", ctx, func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { switch step { - case 0: + case 0: // 计算SkuName中缺失的hashCode var skuNameList []*model.SkuName if err = dao.GetRows(db, &skuNameList, ` SELECT t1.* @@ -366,7 +366,7 @@ func UploadImg4Vendors(ctx *jxcontext.Context, isAsync, isContinueWhenError bool tasksch.HandleTask(calcTask, task, false).Run() _, err = calcTask.GetResult(0) } - case 1: + case 1: // 从SkuName添加缺失的图片至DataResource _, err = dao.ExecuteSQL(db, ` INSERT INTO data_resource(created_at, updated_at, last_operator, hash_code, resoure_type, name, main_url, ebai_url, qiniu_url, is_vendor) @@ -391,10 +391,17 @@ func UploadImg4Vendors(ctx *jxcontext.Context, isAsync, isContinueWhenError bool LEFT JOIN data_resource t2 ON ((t2.main_url <> '' AND t2.main_url = t1.img) OR (t2.hash_code <> '' AND t2.hash_code = t1.img_hash_code)) WHERE t1.img <> '' AND t2.id IS NULL; `) - case 2: + 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; + `) + case 3: // 上传DataResource中缺失的平台图片 dataResList, err := dao.GetNeedUploadDataResource(db) if err == nil && len(dataResList) > 0 { - uploadTask := tasksch.NewParallelTask("UploadImg4Vendors", + uploadTask := tasksch.NewParallelTask("批量上传图片至平台", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError).SetParallelCount(5), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { dataRes := batchItemList[0].(*model.DataResource) @@ -406,7 +413,7 @@ func UploadImg4Vendors(ctx *jxcontext.Context, isAsync, isContinueWhenError bool } } return result, err - }, 3) + }, 4) tasksch.HandleTask(rootTask, nil, true).Run() if !isAsync { if _, err = rootTask.GetResult(0); err == nil { diff --git a/business/jxutils/datares/datares.go b/business/jxutils/datares/datares.go index a74f83e2d..7b22e6914 100644 --- a/business/jxutils/datares/datares.go +++ b/business/jxutils/datares/datares.go @@ -170,7 +170,7 @@ func UploadImage2Vendors(ctx *jxcontext.Context, parentTask tasksch.ITask, dataR } if len(vendorIDs) > 0 { imgName := jxutils.GetShortNameFromURL(dataRes.MainURL) - task := tasksch.NewSeqTask(fmt.Sprintf("UploadImage2Vendors:%s,%s", dataRes.Name, dataRes.MainURL), ctx, + task := tasksch.NewSeqTask(fmt.Sprintf("上传图片至平台1:%s,%s", dataRes.Name, dataRes.MainURL), ctx, func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { switch step { case 0: @@ -180,7 +180,7 @@ func UploadImage2Vendors(ctx *jxcontext.Context, parentTask tasksch.ITask, dataR } } case 1: - uploadTask := tasksch.NewParallelTask(fmt.Sprintf("UploadImage2Vendors Upload:%s,%s", dataRes.Name, dataRes.MainURL), + uploadTask := tasksch.NewParallelTask(fmt.Sprintf("上传图片至平台2:%s,%s", dataRes.Name, dataRes.MainURL), tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { vendorID := batchItemList[0].(int)