京东商城创建商品

This commit is contained in:
苏尹岚
2020-05-13 16:32:40 +08:00
parent 984f326b51
commit 09c866c189
8 changed files with 84 additions and 23 deletions

View File

@@ -336,7 +336,7 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn
// }() // }()
if vendorID == model.VendorIDJDShop { if vendorID == model.VendorIDJDShop {
for _, v := range storeSkuList { for _, v := range storeSkuList {
updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList)) updateItemList := make([]*dao.KVUpdateItem, len(v.StoreSkuSyncInfoJds))
for k, vv := range v.StoreSkuSyncInfoJds { for k, vv := range v.StoreSkuSyncInfoJds {
updateItemList[k] = sku2Update(vendorID, vv, syncStatus) updateItemList[k] = sku2Update(vendorID, vv, syncStatus)
err = updateJdsWareID(db, vv) err = updateJdsWareID(db, vv)

View File

@@ -8,6 +8,8 @@ import (
"strings" "strings"
"time" "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/auth2/authprovider/weixin"
"git.rosy.net.cn/jx-callback/business/partner/delivery" "git.rosy.net.cn/jx-callback/business/partner/delivery"
"github.com/360EntSecGroup-Skylar/excelize" "github.com/360EntSecGroup-Skylar/excelize"
@@ -1496,3 +1498,23 @@ func addSku(outSkuId string, cagtegoryId int, shopCategories []int64, brandId in
// return "456", err // return "456", err
return api.JdAPI.AddSku(outSkuId, cagtegoryId, shopCategories, brandId, skuName, skuPrice, weight, images, fixedStatus, isSale, addParams) 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
}

View File

@@ -159,6 +159,9 @@ func UploadImage2Vendors(ctx *jxcontext.Context, parentTask tasksch.ITask, dataR
if dataRes.MtwmURL == "" { if dataRes.MtwmURL == "" {
vendorIDs = append(vendorIDs, model.VendorIDMTWM) vendorIDs = append(vendorIDs, model.VendorIDMTWM)
} }
if dataRes.JdsURL == "" {
vendorIDs = append(vendorIDs, model.VendorIDJDShop)
}
if len(vendorIDs) > 0 { if len(vendorIDs) > 0 {
imgName := jxutils.GetShortNameFromURL(dataRes.MainURL) imgName := jxutils.GetShortNameFromURL(dataRes.MainURL)
task := tasksch.NewSeqTask(fmt.Sprintf("上传图片至平台1:%s,%s", dataRes.Name, dataRes.MainURL), ctx, 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 { } else if vendorID == model.VendorIDMTWM {
dataRes.MtwmURL = imgHint dataRes.MtwmURL = imgHint
updateField = "MtwmURL" updateField = "MtwmURL"
} else if vendorID == model.VendorIDJDShop {
dataRes.JdsURL = imgHint
updateField = "JdsURL"
} }
dao.UpdateEntity(db, dataRes, updateField) dao.UpdateEntity(db, dataRes, updateField)
} }

View File

@@ -33,6 +33,7 @@ type DataResource struct {
QiniuURL string `orm:"size(512);column(qiniu_url);index" json:"qiniuURL"` QiniuURL string `orm:"size(512);column(qiniu_url);index" json:"qiniuURL"`
EbaiURL string `orm:"size(512);column(ebai_url);index" json:"ebaiURL"` EbaiURL string `orm:"size(512);column(ebai_url);index" json:"ebaiURL"`
MtwmURL string `orm:"size(512);column(mtwm_url);index" json:"mtwmURL"` 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"` Remark string `orm:"size(1024)" json:"remark"`
} }

View File

@@ -6,6 +6,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/business/partner/putils" "git.rosy.net.cn/jx-callback/business/partner/putils"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api" "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) { 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 return imgHint, err
} }

View File

@@ -2,7 +2,6 @@ package jdshop
import ( import (
"regexp" "regexp"
"time"
"git.rosy.net.cn/baseapi/platformapi/jdshopapi" "git.rosy.net.cn/baseapi/platformapi/jdshopapi"
@@ -317,35 +316,36 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j
createSkuParamWare.Introduction = "因生鲜比较脆弱,发货途中如果有磕碰损坏,请收到联系客服,闪电赔付。请核对好地址,发货后不可修改地址,因改地址导致损坏不能赔付,谢谢理解" createSkuParamWare.Introduction = "因生鲜比较脆弱,发货途中如果有磕碰损坏,请收到联系客服,闪电赔付。请核对好地址,发货后不可修改地址,因改地址导致损坏不能赔付,谢谢理解"
//上传京东图片 start //上传京东图片 start
//规则,有两张就传两张,没有就重复传一张 //规则,有两张就传两张,没有就重复传一张
data, _, err := jxutils.DownloadFileByURL(storeSku.Img) // data, _, err := jxutils.DownloadFileByURL(storeSku.Img)
if err != nil { // if err != nil {
return createSkuParamWare, createSkuParamSkus, err // return createSkuParamWare, createSkuParamSkus, err
} // }
uploadResult, err := api.JdShopAPI.UploadPicture(data, 0, utils.Int64ToStr(time.Now().Unix())+storeSku.Name) // uploadResult, err := api.JdShopAPI.UploadPicture(data, 0, utils.Int64ToStr(time.Now().Unix())+storeSku.Name)
if err != nil { // if err != nil {
return createSkuParamWare, createSkuParamSkus, err // return createSkuParamWare, createSkuParamSkus, err
} // }
img1 := &jdshopapi.CreateSkuParamImages{ img1 := &jdshopapi.CreateSkuParamImages{
ColorID: "0000000000", ColorID: "0000000000",
ImgIndex: 1, ImgIndex: 1,
ImgURL: uploadResult.PictureURL, ImgURL: storeSku.Img,
} }
img2 := &jdshopapi.CreateSkuParamImages{ img2 := &jdshopapi.CreateSkuParamImages{
ColorID: "0000000000", ColorID: "0000000000",
ImgIndex: 2, ImgIndex: 2,
} }
if storeSku.Img2 == "" { if storeSku.Img2 == "" {
img2.ImgURL = uploadResult.PictureURL img2.ImgURL = storeSku.Img
} else { // img2.ImgURL = uploadResult.PictureURL
data2, _, err := jxutils.DownloadFileByURL(storeSku.Img2) // } else {
if err != nil { // data2, _, err := jxutils.DownloadFileByURL(storeSku.Img2)
return createSkuParamWare, createSkuParamSkus, err // if err != nil {
} // return createSkuParamWare, createSkuParamSkus, err
uploadResult2, err := api.JdShopAPI.UploadPicture(data2, 0, utils.Int64ToStr(time.Now().Unix())+storeSku.Name) // }
if err != nil { // uploadResult2, err := api.JdShopAPI.UploadPicture(data2, 0, utils.Int64ToStr(time.Now().Unix())+storeSku.Name)
return createSkuParamWare, createSkuParamSkus, err // if err != nil {
} // return createSkuParamWare, createSkuParamSkus, err
img2.ImgURL = uploadResult2.PictureURL // }
// img2.ImgURL = uploadResult2.PictureURL
} }
images = append(images, img1) images = append(images, img1)
images = append(images, img2) images = append(images, img2)

View File

@@ -368,3 +368,16 @@ func (c *TempOpController) BuildSkuFromEbaiStore() {
return retVal, "", err 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
})
}

View File

@@ -2448,6 +2448,15 @@ func init() {
Filters: nil, Filters: nil,
Params: 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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"],
beego.ControllerComments{ beego.ControllerComments{
Method: "AddMyDeliveryAddress", Method: "AddMyDeliveryAddress",