From 8a1d364e4eafae1b9cc675b660ecdc5fa552ace6 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 26 Sep 2019 20:55:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E5=9B=BE=E7=89=87=E5=8A=A0=E5=85=A5DataResource?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=8C=E8=80=81=E6=95=B0=E6=8D=AE=E8=BF=98?= =?UTF-8?q?=E6=9C=AA=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 43 ++++++++------- business/jxstore/initdata/initdata.go | 61 ++++++++++----------- business/jxutils/datares/datares.go | 13 ++--- business/model/common.go | 5 ++ business/model/dao/common.go | 2 +- business/model/dao/store_sku.go | 15 +++-- business/partner/partner.go | 2 +- business/partner/purchase/ebai/ebai.go | 55 ++++++++++++++++++- business/partner/purchase/elm/elm.go | 2 +- business/partner/purchase/jd/jd.go | 2 +- business/partner/purchase/jx/jx.go | 2 +- business/partner/purchase/mtwm/mtwm.go | 12 ++-- business/partner/purchase/weimob/wsc/wsc.go | 2 +- business/userstore/food_recipe.go | 2 +- controllers/cms.go | 3 +- 15 files changed, 141 insertions(+), 80 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index f5219ff81..69cd9311a 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -6,7 +6,6 @@ import ( "strconv" "strings" - "git.rosy.net.cn/baseapi/platformapi/ebaiapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/datares" @@ -15,7 +14,6 @@ import ( "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/jx-callback/globals/api" ) type SkuNamesInfo struct { @@ -31,14 +29,14 @@ var ( ebaiUploadRTFShopID string // 饿百找一个店用于调用SkuUploadRTF ) -func getAndSetEbaiUploadRTFShopID() (shopID string) { - if ebaiUploadRTFShopID == "" { - if storeDetail, err := dao.GetStoreDetail(dao.GetDB(), 0, model.VendorIDEBAI); err == nil { - ebaiUploadRTFShopID = utils.Int2Str(storeDetail.Store.ID) - } - } - return ebaiUploadRTFShopID -} +// func getAndSetEbaiUploadRTFShopID() (shopID string) { +// if ebaiUploadRTFShopID == "" { +// if storeDetail, err := dao.GetStoreDetail(dao.GetDB(), 0, model.VendorIDEBAI); err == nil { +// ebaiUploadRTFShopID = utils.Int2Str(storeDetail.Store.ID) +// } +// } +// return ebaiUploadRTFShopID +// } // parentID 为-1表示所有 func GetVendorCategories(ctx *jxcontext.Context, vendorID int, parentID string) (vendorCats []*model.SkuVendorCategory, err error) { @@ -583,18 +581,22 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s // return nil, err // } // skuNameExt.ImgEbai = imgHintMap[model.VendorIDEBAI] - dataRes, err2 := datares.TryRegisterDataResource(ctx, skuNameExt.Name, skuNameExt.Img, true, true, false) + dataRes, err2 := datares.TryRegisterDataResource(ctx, skuNameExt.Name, skuNameExt.Img, true, model.ImgTypeMain, false) if err = err2; err != nil { return nil, err } skuNameExt.ImgHashCode = dataRes.HashCode skuNameExt.ImgEbai = dataRes.EbaiURL if skuNameExt.Img2 != "" { - datares.TryRegisterDataResource(ctx, skuNameExt.Name, skuNameExt.Img2, true, true, true) + datares.TryRegisterDataResource(ctx, skuNameExt.Name, skuNameExt.Img2, true, model.ImgTypeMain, true) } - if skuNameExt.DescImg != "" && getAndSetEbaiUploadRTFShopID() != "" { - skuNameExt.DescImgEbai, err = api.EbaiAPI.SkuUploadRTF(getAndSetEbaiUploadRTFShopID(), ebaiapi.BuildRFTFromImgs(skuNameExt.DescImg)) + if skuNameExt.DescImg != "" { + dataRes, err2 := datares.TryRegisterDataResource(ctx, skuNameExt.Name+"desc", skuNameExt.DescImg, true, model.ImgTypeDesc, false) + if err = err2; err != nil { + return nil, err + } + skuNameExt.DescImgEbai = dataRes.EbaiURL } if err != nil { return nil, err @@ -697,7 +699,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf // } // // valid["ImgWeimob"] = imgHintMap[model.VendorIDWSC] // valid["ImgEbai"] = imgHintMap[model.VendorIDEBAI] - dataRes, err2 := datares.TryRegisterDataResource(ctx, skuName.Name, valid["img"].(string), true, true, false) + dataRes, err2 := datares.TryRegisterDataResource(ctx, skuName.Name, valid["img"].(string), true, model.ImgTypeMain, false) if err = err2; err != nil { return 0, err } @@ -705,18 +707,17 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf valid["ImgEbai"] = dataRes.EbaiURL } if valid["img2"] != nil { - datares.TryRegisterDataResource(ctx, skuName.Name, valid["img2"].(string), true, true, true) + datares.TryRegisterDataResource(ctx, skuName.Name, valid["img2"].(string), true, model.ImgTypeMain, true) } if valid["descImg"] != nil { descImg := valid["descImg"].(string) if descImg != "" { - if getAndSetEbaiUploadRTFShopID() != "" { - valid["descImgEbai"], err = api.EbaiAPI.SkuUploadRTF(getAndSetEbaiUploadRTFShopID(), ebaiapi.BuildRFTFromImgs(descImg)) - if err != nil { - return 0, err - } + dataRes, err2 := datares.TryRegisterDataResource(ctx, skuName.Name+"_desc", descImg, true, model.ImgTypeDesc, false) + if err = err2; err != nil { + return 0, err } + valid["descImgEbai"] = dataRes.EbaiURL } else { valid["descImgEbai"] = "" } diff --git a/business/jxstore/initdata/initdata.go b/business/jxstore/initdata/initdata.go index 89558ea54..eefbd7afd 100644 --- a/business/jxstore/initdata/initdata.go +++ b/business/jxstore/initdata/initdata.go @@ -287,54 +287,51 @@ func InitVendorCategory(ctx *jxcontext.Context, vendorID int) (num int64, err er } func UploadImg4Vendors(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (hint string, err error) { + return hint, err db := dao.GetDB() 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) - } + // 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 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, t1.img_hash_code, + SELECT t1.created_at, t1.created_at, t1.last_operator, '', CASE - WHEN INSTR(t1.img, ".jpg") > 0 OR INSTR(t1.img, ".jpeg") > 0 THEN + WHEN INSTR(t1.desc_img, ".jpg") > 0 OR INSTR(t1.desc_img, ".jpeg") > 0 THEN 'image/jpeg' - WHEN INSTR(t1.img, ".png") > 0 OR INSTR(t1.img, ".peg") > 0 THEN + WHEN INSTR(t1.desc_img, ".png") > 0 OR INSTR(t1.desc_img, ".peg") > 0 THEN 'image/png' - WHEN INSTR(t1.img, ".gif") THEN + WHEN INSTR(t1.desc_img, ".gif") THEN 'image/gif' ELSE '' - END resource_type - , t1.name, img, img_ebai, IF(INSTR(t1.img, "image.jxc4.com") > 0, t1.img, '') qiniu_url, 1 + END resource_type, + CONCAT(t1.name, '_desc'), desc_img main_url, t1.desc_img_ebai ebai_url, + IF(INSTR(t1.desc_img, "image.jxc4.com") > 0, t1.desc_img, '') qiniu_url, 2 FROM sku_name t1 - JOIN ( - SELECT img_hash_code, MAX(id) id - FROM sku_name - GROUP BY 1 - ) t3 ON t3.id = t1.id - 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_hash_code <> '' AND t1.img <> '' AND t2.id IS NULL; + 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; `) case 2: // 统一SkuName中同hashCode,不同图片地址至同一地址 _, err = dao.ExecuteSQL(db, ` diff --git a/business/jxutils/datares/datares.go b/business/jxutils/datares/datares.go index 1b2f8cd8e..088dcd0bf 100644 --- a/business/jxutils/datares/datares.go +++ b/business/jxutils/datares/datares.go @@ -5,7 +5,6 @@ import ( "strings" "time" - "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" @@ -76,7 +75,7 @@ func getMimeTypeFromURL(resourceURL string) (mimeType string) { return mimeType } -func RegisterDataResource(ctx *jxcontext.Context, name, resourceURL, mimeType, hashCode string, resBinary []byte, isUpload2Vendor, isAsync bool) (dataRes *model.DataResource, err error) { +func RegisterDataResource(ctx *jxcontext.Context, name, resourceURL, mimeType, hashCode string, resBinary []byte, imgType int, isAsync bool) (dataRes *model.DataResource, err error) { if model.ValidMimeTypes[mimeType] == nil { return nil, fmt.Errorf("MIME type:%s非法", mimeType) } @@ -85,7 +84,7 @@ func RegisterDataResource(ctx *jxcontext.Context, name, resourceURL, mimeType, h HashCode: hashCode, ResourceType: mimeType, MainURL: resourceURL, - IsVendor: int8(utils.Bool2Int(isUpload2Vendor)), + IsVendor: int8(imgType), } vendorID := jxutils.GuessDataResourceVendor(resourceURL) @@ -105,14 +104,14 @@ func RegisterDataResource(ctx *jxcontext.Context, name, resourceURL, mimeType, h } return dataRes, err } - if isUpload2Vendor { + if imgType > 0 { // 忽略上传错误 UploadImage2Vendors(ctx, nil, dataRes, resBinary, isAsync) } return dataRes, err } -func TryRegisterDataResource(ctx *jxcontext.Context, name, resourceURL string, isAllowDownLoad, isUpload2Vendor, isAsync bool) (dataRes *model.DataResource, err error) { +func TryRegisterDataResource(ctx *jxcontext.Context, name, resourceURL string, isAllowDownLoad bool, imgType int, isAsync bool) (dataRes *model.DataResource, err error) { dataRes = &model.DataResource{ MainURL: resourceURL, } @@ -138,7 +137,7 @@ func TryRegisterDataResource(ctx *jxcontext.Context, name, resourceURL string, i } else { hashCode = value.(string) } - return RegisterDataResource(ctx, name, resourceURL, getMimeTypeFromURL(resourceURL), hashCode, resBinary, isUpload2Vendor, isAsync) + return RegisterDataResource(ctx, name, resourceURL, getMimeTypeFromURL(resourceURL), hashCode, resBinary, imgType, isAsync) } func GetDataResource(ctx *jxcontext.Context, hashCode string) (resourceURL string, err error) { @@ -185,7 +184,7 @@ func UploadImage2Vendors(ctx *jxcontext.Context, parentTask tasksch.ITask, dataR func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { vendorID := batchItemList[0].(int) if handler := partner.GetPurchasePlatformFromVendorID(vendorID); handler != nil { - imgHint, err2 := handler.UploadImg(ctx, dataRes.MainURL, imgData, imgName) + imgHint, err2 := handler.UploadImg(ctx, dataRes.MainURL, imgData, imgName, int(dataRes.IsVendor)) if err = err2; err == nil { retVal = [][]interface{}{ []interface{}{ diff --git a/business/model/common.go b/business/model/common.go index 90f2c5b0c..16ce08a1e 100644 --- a/business/model/common.go +++ b/business/model/common.go @@ -1,5 +1,10 @@ package model +const ( + ImgTypeMain = 1 // 商品主图 + ImgTypeDesc = 2 // 商品描述详情 +) + var ( ValidMimeTypes = map[string][]string{ "image/jpeg": []string{"jpeg", "jpg"}, diff --git a/business/model/dao/common.go b/business/model/dao/common.go index daf80119a..fe36d8662 100644 --- a/business/model/dao/common.go +++ b/business/model/dao/common.go @@ -26,7 +26,7 @@ func GetNeedUploadDataResource(db *DaoDB) (dataResList []*model.DataResource, er sql := ` SELECT t1.* FROM data_resource t1 - WHERE t1.is_vendor = 1 AND (t1.ebai_url = '' OR t1.mtwm_url = '')` + WHERE t1.is_vendor <> 0 AND (t1.ebai_url = '' OR t1.mtwm_url = '')` err = GetRows(db, &dataResList, sql) return dataResList, err } diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 9113419e2..f88a6d6c2 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -222,14 +222,16 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, isDirty bool) SELECT t1.id bind_id, t1.sku_id, t1.price, t1.unit_price, t1.status store_sku_status, %s.%s_id vendor_sku_id, t1.%s_sync_status store_sku_sync_status, %s vendor_name_id, t1.store_id, t1.deleted_at bind_deleted_at, t2.*, - t3.id name_id, t3.prefix, t3.name, t3.unit, t3.upc, t3.%s desc_img, + t3.id name_id, t3.prefix, t3.name, t3.unit, t3.upc, IF(t11.%s <> '', t11.%s, t3.img) img, IF(t12.%s <> '', t12.%s, t3.img2) img2, + IF(t13.%s <> '', t13.%s, t3.%s) desc_img, t4.%s_category_id vendor_vendor_cat_id` fmtParams := []interface{}{ - tableName, fieldPrefix, fieldPrefix, vendorSkuNameField, GetDescImgFieldName(vendorID), + tableName, fieldPrefix, fieldPrefix, vendorSkuNameField, GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), + GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDescImgFieldName(vendorID), fieldPrefix, } if isSingleStorePF { @@ -249,7 +251,9 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, isDirty bool) LEFT JOIN sku_name t3 ON t2.name_id = t3.id AND t3.deleted_at = ? AND t3.status = ? LEFT JOIN sku_category t4 ON t3.category_id = t4.id AND t4.deleted_at = ? LEFT JOIN data_resource t11 ON t11.main_url = t3.img - LEFT JOIN data_resource t12 ON t12.main_url = t3.img2` + LEFT JOIN data_resource t12 ON t12.main_url = t3.img2 + LEFT JOIN data_resource t13 ON t13.main_url = t3.desc_img + ` sqlParams := []interface{}{ utils.DefaultTimeValue, model.SkuStatusNormal, @@ -308,9 +312,10 @@ func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInf SELECT t1.id bind_id, t1.price, t1.unit_price, t1.status store_sku_status, t2.%s_id vendor_sku_id, t1.%s_sync_status store_sku_sync_status, t1.store_id, t1.deleted_at bind_deleted_at, t2.*, t2.id sku_id, - t3.id name_id, t3.prefix, t3.name, t3.unit, t3.upc, t3.desc_img, + t3.id name_id, t3.prefix, t3.name, t3.unit, t3.upc, IF(t11.%s <> '', t11.%s, t3.img) img, IF(t12.%s <> '', t12.%s, t3.img2) img2, + IF(t13.%s <> '', t13.%s, t3.desc_img) desc_img, t4.%s_category_id vendor_vendor_cat_id, t4.%s_sync_status store_cat_sync_status, t4.%s_id vendor_cat_id, t5sku.%s_sync_status sku_store_cat_sync_status, t5sku.%s_id sku_vendor_cat_id @@ -321,6 +326,7 @@ func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInf LEFT JOIN sku_category t5sku ON t2.category_id = t5sku.id LEFT JOIN data_resource t11 ON t11.main_url = t3.img LEFT JOIN data_resource t12 ON t12.main_url = t3.img2 + LEFT JOIN data_resource t13 ON t13.main_url = t3.desc_img WHERE t2.deleted_at = ? AND t2.status = ? AND t2.%s_id <> 0 ORDER BY t1.price DESC` sqlParams := []interface{}{ @@ -337,6 +343,7 @@ func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInf fieldPrefix, GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), + GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, diff --git a/business/partner/partner.go b/business/partner/partner.go index af3eccdc1..28dadcba3 100644 --- a/business/partner/partner.go +++ b/business/partner/partner.go @@ -151,7 +151,7 @@ type IPurchasePlatformHandler interface { RefreshAllStoresID(ctx *jxcontext.Context, parentTask tasksch.ITask, isAsync bool) (hint string, err error) - UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string) (imgHint string, err error) + UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) } // db *dao.DaoDB, diff --git a/business/partner/purchase/ebai/ebai.go b/business/partner/purchase/ebai/ebai.go index 779020e8f..5fe6874ca 100644 --- a/business/partner/purchase/ebai/ebai.go +++ b/business/partner/purchase/ebai/ebai.go @@ -1,6 +1,8 @@ package ebai import ( + "sync" + "git.rosy.net.cn/baseapi/platformapi/ebaiapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" @@ -18,6 +20,9 @@ var ( type PurchaseHandler struct { partner.BasePurchasePlatform putils.DefSingleStorePlatform + + shopList []*ebaiapi.ShopInfo + locker sync.RWMutex } func init() { @@ -44,16 +49,60 @@ func (p *PurchaseHandler) GetVendorID() int { return model.VendorIDEBAI } -func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string) (imgHint string, err error) { - globals.SugarLogger.Debugf("ebai UploadImg imgURL:%s, imgName:%s", imgURL, imgName) +func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { + globals.SugarLogger.Debugf("ebai UploadImg imgURL:%s, imgName:%s, imgType:%d", imgURL, imgName, imgType) if globals.EnableEbaiStoreWrite { - imgHint, err = api.EbaiAPI.PictureUpload(imgURL, imgData) + if imgType == model.ImgTypeMain { + imgHint, err = api.EbaiAPI.PictureUpload(imgURL, imgData) + } else if imgType == model.ImgTypeMain { + imgHint, err = api.EbaiAPI.SkuUploadRTF(p.getShopID4UploadRTF(), ebaiapi.BuildRFTFromImgs(imgURL)) + } } else { imgHint = imgURL + ".ebai" } return imgHint, err } +func getShopIDFromList(shopList []*ebaiapi.ShopInfo) (shopID string) { + if len(shopList) > 0 { + shopID = shopList[0].ShopID + } + return shopID +} + +func (p *PurchaseHandler) getShopID4UploadRTF() (shopID string) { + var shopList []*ebaiapi.ShopInfo + p.locker.RLock() + shopList = p.shopList + p.locker.RUnlock() + if len(shopList) > 0 { + return getShopIDFromList(shopList) + } + + p.locker.Lock() + shopList = p.shopList + if len(shopList) > 0 { + p.locker.Unlock() + return getShopIDFromList(shopList) + } + + defer p.locker.Unlock() + shopList, err := api.EbaiAPI.ShopList(ebaiapi.SysStatusAll) + if err == nil { + if len(shopList) > 0 { + p.shopList = shopList + shopID = getShopIDFromList(shopList) + } else { + // p.shopList = []*ebaiapi.ShopInfo{ + // &ebaiapi.ShopInfo{ + // ShopID: "", + // }, + // } + } + } + return shopID +} + func (p *PurchaseHandler) getVendorCategories(level int, pid int64) (vendorCats []*model.SkuVendorCategory, err error) { cats, err := api.EbaiAPI.SkuCategoryList("", level, pid) if err != nil { diff --git a/business/partner/purchase/elm/elm.go b/business/partner/purchase/elm/elm.go index d20aeb816..f4deb0341 100644 --- a/business/partner/purchase/elm/elm.go +++ b/business/partner/purchase/elm/elm.go @@ -92,7 +92,7 @@ func (c *PurchaseHandler) OnCallbackMsg(msg *elmapi.CallbackMsg) (retVal *elmapi return retVal } -func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string) (imgHint string, err error) { +func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { return imgHint, err } diff --git a/business/partner/purchase/jd/jd.go b/business/partner/purchase/jd/jd.go index d0e7e531d..f80525291 100644 --- a/business/partner/purchase/jd/jd.go +++ b/business/partner/purchase/jd/jd.go @@ -59,6 +59,6 @@ func JxStoreStatus2JdStatus(status int) (yn, closeStatus int) { } } -func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string) (imgHint string, err error) { +func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { return imgHint, err } diff --git a/business/partner/purchase/jx/jx.go b/business/partner/purchase/jx/jx.go index 5a67b7215..42636c0dc 100644 --- a/business/partner/purchase/jx/jx.go +++ b/business/partner/purchase/jx/jx.go @@ -29,6 +29,6 @@ func (c *PurchaseHandler) GetVendorID() int { return model.VendorIDJX } -func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string) (imgHint string, err error) { +func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { return imgHint, err } diff --git a/business/partner/purchase/mtwm/mtwm.go b/business/partner/purchase/mtwm/mtwm.go index 4a82b7d0b..dfb172560 100644 --- a/business/partner/purchase/mtwm/mtwm.go +++ b/business/partner/purchase/mtwm/mtwm.go @@ -166,17 +166,19 @@ func skuStatusJX2Mtwm(status int) int { return mtwmapi.SellStatusOffline } -func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string) (imgHint string, err error) { +func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { globals.SugarLogger.Debugf("mtwm UploadImg imgURL:%s, imgName:%s", imgURL, imgName) poiCode4UploadImg := p.getUploadImgPoiCode() if poiCode4UploadImg == "" { return "", fmt.Errorf("找不到一个美团门店来上传图片") } if globals.EnableMtwmStoreWrite { - if imgData != nil { - imgHint, err = api.MtwmAPI.ImageUpload(poiCode4UploadImg, imgName, imgData) - } else { - imgHint, err = api.MtwmAPI.ImageUploadByURL(poiCode4UploadImg, imgName, imgURL) + if imgType > 0 { + if imgData != nil { + imgHint, err = api.MtwmAPI.ImageUpload(poiCode4UploadImg, imgName, imgData) + } else { + imgHint, err = api.MtwmAPI.ImageUploadByURL(poiCode4UploadImg, imgName, imgURL) + } } } else { imgHint = utils.GetUpperUUID() diff --git a/business/partner/purchase/weimob/wsc/wsc.go b/business/partner/purchase/weimob/wsc/wsc.go index 3aef77cb8..dc85a07a2 100644 --- a/business/partner/purchase/weimob/wsc/wsc.go +++ b/business/partner/purchase/weimob/wsc/wsc.go @@ -68,7 +68,7 @@ func vendorCategoryID2String(catID int64) string { return "" } -func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string) (imgHint string, err error) { +func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { if globals.EnableWscStoreWrite { imgHint, err = api.WeimobAPI.UploadImg(imgData, imgName) } diff --git a/business/userstore/food_recipe.go b/business/userstore/food_recipe.go index 7291d4ab8..a72e0e5c0 100644 --- a/business/userstore/food_recipe.go +++ b/business/userstore/food_recipe.go @@ -190,7 +190,7 @@ func tryRegisterDataRes4Recipe(ctx *jxcontext.Context, name, mainImg string, ste } errList := errlist.New() for _, v := range imgList { - _, err := datares.TryRegisterDataResource(ctx, name, v, true, false, true) + _, err := datares.TryRegisterDataResource(ctx, name, v, true, 0, true) errList.AddErr(err) } return errList.GetErrListAsOne() diff --git a/controllers/cms.go b/controllers/cms.go index ef306edc5..98e25fda3 100644 --- a/controllers/cms.go +++ b/controllers/cms.go @@ -105,6 +105,7 @@ func (c *CmsController) GetQiniuUploadToken() { }) } +// 此函数可以不用调用,当前只有菜谱图片在调用 // @Title 注册数据资源 // @Description 注册数据资源 // @Param token header string true "认证token" @@ -117,7 +118,7 @@ func (c *CmsController) GetQiniuUploadToken() { // @router /RegisterDataResource [post] func (c *CmsController) RegisterDataResource() { c.callRegisterDataResource(func(params *tCmsRegisterDataResourceParams) (retVal interface{}, errCode string, err error) { - retVal, err = datares.RegisterDataResource(params.Ctx, params.Name, params.ResourceURL, params.MimeType, params.HashCode, nil, false, true) + retVal, err = datares.RegisterDataResource(params.Ctx, params.Name, params.ResourceURL, params.MimeType, params.HashCode, nil, 0, true) return retVal, "", err }) }