京东商城同步修改,关注可售修改
This commit is contained in:
@@ -3,6 +3,7 @@ package jdshop
|
||||
import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"strings"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdshopapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
@@ -15,6 +16,18 @@ import (
|
||||
)
|
||||
|
||||
func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID string) (storeDetail *dao.StoreDetail, err error) {
|
||||
result, err := api.JdShopAPI.NewInfoList(utils.Str2Int64(vendorStoreID))
|
||||
storeDetail.VendorStoreID = vendorStoreID
|
||||
storeDetail.Status = JdsStatus2jxStatus(result.StoreStatus)
|
||||
result2, err := api.JdShopAPI.QueryEntityStore(utils.Str2Int64(vendorStoreID))
|
||||
storeDetail.ID = utils.Str2Int(result2.ExStoreID)
|
||||
storeDetail.Name = result2.StoreName
|
||||
storeDetail.Address = result2.Address
|
||||
storeDetail.Tel1 = result2.Phone
|
||||
storeDetail.DistrictCode = result2.AddrCode
|
||||
zbs := strings.Split(result2.Coordinate, ",")
|
||||
storeDetail.Lat = jxutils.StandardCoordinate2Int(utils.Str2Float64(zbs[0]))
|
||||
storeDetail.Lng = jxutils.StandardCoordinate2Int(utils.Str2Float64(zbs[1]))
|
||||
return storeDetail, err
|
||||
}
|
||||
|
||||
@@ -80,6 +93,11 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) DeleteStore(db *dao.DaoDB, storeID int, userName string) (err error) {
|
||||
// store, err := dao.GetStoreDetail(db, storeID, model.VendorIDJDShop)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// err = api.JdShopAPI.DeleteStoresByID(utils.Str2Int64(store.VendorStoreID))
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -130,3 +148,14 @@ func jxStatus2JdsStatus(status int) (result int) {
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func JdsStatus2jxStatus(status int) (result int) {
|
||||
if status == jdshopapi.JdsStoreStatusOnline {
|
||||
result = model.StoreStatusOpened
|
||||
} else if status == jdshopapi.JdsStoreStatusRest {
|
||||
result = model.StoreStatusClosed
|
||||
} else {
|
||||
result = model.StoreStatusDisabled
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -77,9 +77,10 @@ func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
||||
// valid := dao.StrictMakeMapByStructObject(payload, skuName, ctx.GetUserName())
|
||||
name := filterSensitiveWord(v.Name)
|
||||
updateWareParam := &jdshopapi.UpdateWareParam{
|
||||
WareID: v.JdsWareID,
|
||||
Title: name,
|
||||
VenderID: jdshopapi.VenderID,
|
||||
WareID: v.JdsWareID,
|
||||
Title: name,
|
||||
VenderID: jdshopapi.VenderID,
|
||||
PromiseID: jdshopapi.JdsPromiseID,
|
||||
// Weight: v.Weight,
|
||||
}
|
||||
err = api.JdShopAPI.UpdateWare(updateWareParam)
|
||||
@@ -333,11 +334,12 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j
|
||||
Weight: 0.5,
|
||||
JdPrice: jxutils.IntPrice2Standard(storeSku.UnitPrice),
|
||||
// MarketPrice: jxutils.IntPrice2Standard(storeSku.UnitPrice),
|
||||
PromiseID: jdshopapi.JdsPromiseID,
|
||||
}
|
||||
|
||||
//上传京东图片
|
||||
//规则,有两张就传两张,没有就重复传一张
|
||||
pic1, err := uploadImg(storeSku.Img, storeSku.Name, "1")
|
||||
pic1, err := uploadImg(storeSku.Img, name, "1")
|
||||
img1 := &jdshopapi.CreateSkuParamImages{
|
||||
ColorID: "0000000000",
|
||||
ImgIndex: 1,
|
||||
@@ -350,7 +352,7 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j
|
||||
if storeSku.Img2 == "" {
|
||||
img2.ImgURL = pic1
|
||||
} else {
|
||||
pic2, err2 := uploadImg(storeSku.Img, storeSku.Name, "2")
|
||||
pic2, err2 := uploadImg(storeSku.Img, name, "2")
|
||||
err = err2
|
||||
img2.ImgURL = pic2
|
||||
}
|
||||
@@ -361,7 +363,7 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j
|
||||
//商品详情拼接
|
||||
var desc string
|
||||
if storeSku.DescImg != "" {
|
||||
pic3, err2 := uploadImg(storeSku.DescImg, storeSku.Name, "desc")
|
||||
pic3, err2 := uploadImg(storeSku.DescImg, name, "desc")
|
||||
err = err2
|
||||
desc = `<p><img src="` + jdshopapi.JdsImgURL + pic3 + `" style="width: auto; height: auto; max-width: 100%;"><br></p><p><br></p>`
|
||||
} else {
|
||||
@@ -459,11 +461,11 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j
|
||||
}
|
||||
attrsPropSku = append(attrsPropSku, attrSku)
|
||||
sku := &jdshopapi.CreateSkuParamSkus{
|
||||
JdPrice: jxutils.IntPrice2Standard(v.VendorPrice),
|
||||
StockNum: 9999,
|
||||
Type: "com.jd.pop.ware.ic.api.domain.sku",
|
||||
Type2: "com.jd.pop.ware.ic.api.domain.Sku",
|
||||
OuterID: utils.Int2Str(v.SkuID),
|
||||
JdPrice: jxutils.IntPrice2Standard(v.VendorPrice),
|
||||
// StockNum: 9999,
|
||||
Type: "com.jd.pop.ware.ic.api.domain.sku",
|
||||
Type2: "com.jd.pop.ware.ic.api.domain.Sku",
|
||||
OuterID: utils.Int2Str(v.SkuID),
|
||||
}
|
||||
sku.SaleAttrs = attrsPropSku
|
||||
createSkuParamSkus = append(createSkuParamSkus, sku)
|
||||
@@ -471,21 +473,33 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j
|
||||
if v.VendorPrice > vendorPrice {
|
||||
vendorPrice = v.VendorPrice
|
||||
}
|
||||
if v.Status == model.SkuStatusNormal {
|
||||
sku.StockNum = 9999
|
||||
} else {
|
||||
sku.StockNum = 0
|
||||
}
|
||||
}
|
||||
createSkuParamWare.MarketPrice = jxutils.IntPrice2Standard(vendorPrice)
|
||||
return createSkuParamWare, createSkuParamSkus, err
|
||||
}
|
||||
|
||||
//京东商城上传图片,若平台上已经有了这个图就直接拿来用了
|
||||
func uploadImg(img, name, index string) (imgURL string, err error) {
|
||||
data, _, err := jxutils.DownloadFileByURL(img)
|
||||
if err != nil {
|
||||
return imgURL, err
|
||||
result, err := api.JdShopAPI.QueryPicture(name + index)
|
||||
if len(result) > 0 {
|
||||
imgURL = result[0].PictureURL
|
||||
} else {
|
||||
data, _, err := jxutils.DownloadFileByURL(img)
|
||||
if err != nil {
|
||||
return imgURL, err
|
||||
}
|
||||
uploadResult, err := api.JdShopAPI.UploadPicture(data, 0, name+index)
|
||||
if err != nil {
|
||||
return imgURL, err
|
||||
}
|
||||
imgURL = uploadResult.PictureURL
|
||||
}
|
||||
uploadResult, err := api.JdShopAPI.UploadPicture(data, 0, name+index)
|
||||
if err != nil {
|
||||
return imgURL, err
|
||||
}
|
||||
return uploadResult.PictureURL, err
|
||||
return imgURL, err
|
||||
}
|
||||
|
||||
func filterSensitiveWord(name string) (result string) {
|
||||
|
||||
Reference in New Issue
Block a user