diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 9b92458ed..6a12e03b9 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -336,7 +336,7 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn // }() if vendorID == model.VendorIDJDShop { for _, v := range storeSkuList { - updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList)) + updateItemList := make([]*dao.KVUpdateItem, len(v.StoreSkuSyncInfoJds)) for k, vv := range v.StoreSkuSyncInfoJds { updateItemList[k] = sku2Update(vendorID, vv, syncStatus) err = updateJdsWareID(db, vv) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 48623eb26..cfe9c0165 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -8,6 +8,8 @@ import ( "strings" "time" + "git.rosy.net.cn/jx-callback/business/jxutils/datares" + "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/partner/delivery" "github.com/360EntSecGroup-Skylar/excelize" @@ -1496,3 +1498,23 @@ func addSku(outSkuId string, cagtegoryId int, shopCategories []int64, brandId in // return "456", err return api.JdAPI.AddSku(outSkuId, cagtegoryId, shopCategories, brandId, skuName, skuPrice, weight, images, fixedStatus, isSale, addParams) } + +func UploadJdsImage(ctx *jxcontext.Context) (err error) { + var skuNames []*model.SkuName + sql := ` + SELECT DISTINCT a.* + FROM sku_name a, store_sku_bind b, sku c + WHERE a.id = c.name_id AND c.id = b.sku_id + AND a.deleted_at = ? AND a.status = 1 AND a.img <> '' + AND c.deleted_at = ? AND b.deleted_at = ? + AND b.store_id = ? + ` + sqlParams := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, 102919} + err = dao.GetRows(dao.GetDB(), &skuNames, sql, sqlParams) + for _, v := range skuNames { + datares.TryRegisterDataResource(ctx, v.Name, v.Img, model.ImgTypeMain, false) + datares.TryRegisterDataResource(ctx, v.Name, v.Img2, model.ImgTypeMain, false) + datares.TryRegisterDataResource(ctx, v.Name, v.DescImg, model.ImgTypeMain, false) + } + return err +} diff --git a/business/jxutils/datares/datares.go b/business/jxutils/datares/datares.go index 267ad6da7..31fdc9baf 100644 --- a/business/jxutils/datares/datares.go +++ b/business/jxutils/datares/datares.go @@ -159,6 +159,9 @@ func UploadImage2Vendors(ctx *jxcontext.Context, parentTask tasksch.ITask, dataR if dataRes.MtwmURL == "" { vendorIDs = append(vendorIDs, model.VendorIDMTWM) } + if dataRes.JdsURL == "" { + vendorIDs = append(vendorIDs, model.VendorIDJDShop) + } if len(vendorIDs) > 0 { imgName := jxutils.GetShortNameFromURL(dataRes.MainURL) task := tasksch.NewSeqTask(fmt.Sprintf("上传图片至平台1:%s,%s", dataRes.Name, dataRes.MainURL), ctx, @@ -205,6 +208,9 @@ func UploadImage2Vendors(ctx *jxcontext.Context, parentTask tasksch.ITask, dataR } else if vendorID == model.VendorIDMTWM { dataRes.MtwmURL = imgHint updateField = "MtwmURL" + } else if vendorID == model.VendorIDJDShop { + dataRes.JdsURL = imgHint + updateField = "JdsURL" } dao.UpdateEntity(db, dataRes, updateField) } diff --git a/business/model/common.go b/business/model/common.go index e5c3a1d10..01a450373 100644 --- a/business/model/common.go +++ b/business/model/common.go @@ -33,6 +33,7 @@ type DataResource struct { QiniuURL string `orm:"size(512);column(qiniu_url);index" json:"qiniuURL"` EbaiURL string `orm:"size(512);column(ebai_url);index" json:"ebaiURL"` MtwmURL string `orm:"size(512);column(mtwm_url);index" json:"mtwmURL"` + JdsURL string `orm:"size(512);column(jds_url);index" json:"jdsURL"` Remark string `orm:"size(1024)" json:"remark"` } diff --git a/business/partner/purchase/jdshop/jds.go b/business/partner/purchase/jdshop/jds.go index 8e77d688f..8f73f40d4 100644 --- a/business/partner/purchase/jdshop/jds.go +++ b/business/partner/purchase/jdshop/jds.go @@ -6,6 +6,7 @@ import ( "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/partner/putils" + "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" ) @@ -36,7 +37,16 @@ func (p *PurchaseHandler) GetVendorID() int { } func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, vendorOrgCode, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { - + if globals.EnableJdShopWrite { + if imgType > model.ImgTypeLocal { + result, err := api.JdShopAPI.UploadPicture(imgData, 0, imgName) + if err == nil { + imgHint = result.PictureURL + } + } + } else { + imgHint = utils.GetUpperUUID() + } return imgHint, err } diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index e661824d5..6b6449c88 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -2,7 +2,6 @@ package jdshop import ( "regexp" - "time" "git.rosy.net.cn/baseapi/platformapi/jdshopapi" @@ -317,35 +316,36 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j createSkuParamWare.Introduction = "因生鲜比较脆弱,发货途中如果有磕碰损坏,请收到联系客服,闪电赔付。请核对好地址,发货后不可修改地址,因改地址导致损坏不能赔付,谢谢理解" //上传京东图片 start //规则,有两张就传两张,没有就重复传一张 - data, _, err := jxutils.DownloadFileByURL(storeSku.Img) - if err != nil { - return createSkuParamWare, createSkuParamSkus, err - } - uploadResult, err := api.JdShopAPI.UploadPicture(data, 0, utils.Int64ToStr(time.Now().Unix())+storeSku.Name) - if err != nil { - return createSkuParamWare, createSkuParamSkus, err - } + // data, _, err := jxutils.DownloadFileByURL(storeSku.Img) + // if err != nil { + // return createSkuParamWare, createSkuParamSkus, err + // } + // uploadResult, err := api.JdShopAPI.UploadPicture(data, 0, utils.Int64ToStr(time.Now().Unix())+storeSku.Name) + // if err != nil { + // return createSkuParamWare, createSkuParamSkus, err + // } img1 := &jdshopapi.CreateSkuParamImages{ ColorID: "0000000000", ImgIndex: 1, - ImgURL: uploadResult.PictureURL, + ImgURL: storeSku.Img, } img2 := &jdshopapi.CreateSkuParamImages{ ColorID: "0000000000", ImgIndex: 2, } if storeSku.Img2 == "" { - img2.ImgURL = uploadResult.PictureURL - } else { - data2, _, err := jxutils.DownloadFileByURL(storeSku.Img2) - if err != nil { - return createSkuParamWare, createSkuParamSkus, err - } - uploadResult2, err := api.JdShopAPI.UploadPicture(data2, 0, utils.Int64ToStr(time.Now().Unix())+storeSku.Name) - if err != nil { - return createSkuParamWare, createSkuParamSkus, err - } - img2.ImgURL = uploadResult2.PictureURL + img2.ImgURL = storeSku.Img + // img2.ImgURL = uploadResult.PictureURL + // } else { + // data2, _, err := jxutils.DownloadFileByURL(storeSku.Img2) + // if err != nil { + // return createSkuParamWare, createSkuParamSkus, err + // } + // uploadResult2, err := api.JdShopAPI.UploadPicture(data2, 0, utils.Int64ToStr(time.Now().Unix())+storeSku.Name) + // if err != nil { + // return createSkuParamWare, createSkuParamSkus, err + // } + // img2.ImgURL = uploadResult2.PictureURL } images = append(images, img1) images = append(images, img2) diff --git a/controllers/temp_op.go b/controllers/temp_op.go index b2ab93b95..82c9ba8ef 100644 --- a/controllers/temp_op.go +++ b/controllers/temp_op.go @@ -368,3 +368,16 @@ func (c *TempOpController) BuildSkuFromEbaiStore() { return retVal, "", err }) } + +// @Title 上传京东商城图片 +// @Description 上传京东商城图片 +// @Param token header string true "认证token" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UploadJdsImage [post] +func (c *TempOpController) UploadJdsImage() { + c.callUploadJdsImage(func(params *tTempopUploadJdsImageParams) (retVal interface{}, errCode string, err error) { + err = tempop.UploadJdsImage(params.Ctx) + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index b7349c580..69e4aa67d 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -2448,6 +2448,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"], + beego.ControllerComments{ + Method: "UploadJdsImage", + Router: `/UploadJdsImage`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"], beego.ControllerComments{ Method: "AddMyDeliveryAddress",