diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index c882f1594..0cd2fc09b 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -147,8 +147,12 @@ func SyncSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int, if skuVendorInfo.ExdSkuID != "" { return nil, err } - skuVendorInfo.SkuName = jxutils.ComposeSkuName(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0, skuVendorInfo.ExPrefix, skuVendorInfo.ExPrefixBegin, skuVendorInfo.ExPrefixEnd) + skuVendorInfo.SkuName = jxutils.ComposeSkuNameSync(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0, skuVendorInfo.ExPrefix, skuVendorInfo.ExPrefixBegin, skuVendorInfo.ExPrefixEnd) skuVendorInfo.SkuNameOrigin = jxutils.ComposeSkuNameOriginal(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0) + if skuVendorInfo.ImgWatermark != "" { + downLoad, _ := uploadImgStandard(skuVendorInfo.ImgWatermark) + skuVendorInfo.ImgMix = jxutils.MixMatermarkImg(downLoad, skuVendorInfo.Img) + } skuVendorInfo.MergedStatus = jxutils.MergeSkuStatus(skuVendorInfo.Status, skuVendorInfo.NameStatus) if multiStoresHandler, ok := partner.GetPurchasePlatformFromVendorID(skuVendorInfo.VendorID).(partner.IMultipleStoresHandler); ok { if model.IsSyncStatusDelete(skuVendorInfo.SkuSyncStatus) { //删除 diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index 945b0f832..11c7ed44d 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -916,3 +916,17 @@ func PKCS5UnPadding(origData []byte) []byte { unpadding := int(origData[length-1]) return origData[:(length - unpadding)] } + +//合成水印图 +func MixMatermarkImg(imgWatermark, img string) (imgMix string) { + baseURL := base64.URLEncoding.EncodeToString([]byte(imgWatermark)) + imgUrl := "?imageView2/0/q/75|watermark/1/image/" + baseURL + "/dissolve/100/gravity/Center/dx/0/dy/0" + if resBinary, _, err := DownloadFileByURL(imgUrl); err == nil { + if downloadURL, err := UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())+imgWatermark[strings.LastIndex(imgWatermark, "/")+1:len(imgWatermark)]); err == nil { + if err == nil { + return downloadURL + } + } + } + return imgMix +} diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index e96566ff4..8b2c5a671 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -96,6 +96,7 @@ type StoreSkuSyncInfo struct { Img3 string DescImg string ImgWatermark string `json:"imgWatermark"` //图片水印 + ImgMix string //合成水印后的图片 VendorVendorCatID int64 `orm:"column(vendor_vendor_cat_id)"` // 平台商品分类(叶子结点) CategoryName string `json:"categoryName"` //分类名 diff --git a/business/partner/purchase/jd/sku2.go b/business/partner/purchase/jd/sku2.go index 54390670d..f9da68b38 100644 --- a/business/partner/purchase/jd/sku2.go +++ b/business/partner/purchase/jd/sku2.go @@ -167,11 +167,12 @@ func skuInfo2Param(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (param *jd Upc: sku.Upc, // Images: jxutils.BatchString2Slice(sku.Img, sku.Img2), } - if sku.ImgWatermark != "" { - param.Images = jxutils.BatchString2Slice(sku.Img, sku.Img2) + if sku.ImgMix != "" { + param.Images = jxutils.BatchString2Slice(sku.ImgMix, sku.Img2) } else { param.Images = jxutils.BatchString2Slice(sku.Img, sku.Img2) } + if param.CategoryID == 0 { param.CategoryID = int64(getDefJdCategoryID()) }