京东商城获取省市区
This commit is contained in:
@@ -5,17 +5,30 @@ import (
|
||||
)
|
||||
|
||||
type CreateEntityStoreParam struct {
|
||||
Name string `json:"name"` //是 门店名称
|
||||
AddCode int `json:"addCode"` //是 门店三级标准地址编码(京东)
|
||||
AddCodeName string `json:"addCodeName"` //否 门店三级标准地址名称(京东)
|
||||
AddName string `json:"addName"` //是 标准地址加扩展地址以@!分隔 必填 例:北京大兴区亦庄经济开发区@!京东大厦
|
||||
Coordinate string `json:"coordinate"` //是 门店坐标 纬度在前,经度在后 例:39.786683,116.563075
|
||||
Phone string `json:"phone"` //是 门店电话
|
||||
Item []int `json:"item"` //否 门店组ID
|
||||
CustomerId string `json:"customerId"` //否 商家门店Id,商家维度不可重复
|
||||
Name string `json:"name"` //是 门店名称
|
||||
AddCode int `json:"addCode"` //是 门店三级标准地址编码(京东)
|
||||
AddCodeName string `json:"addCodeName"` //否 门店三级标准地址名称(京东)
|
||||
AddName string `json:"addName"` //是 标准地址加扩展地址以@!分隔 必填 例:北京大兴区亦庄经济开发区@!京东大厦
|
||||
Coordinate string `json:"coordinate"` //是 门店坐标 纬度在前,经度在后 例:39.786683,116.563075
|
||||
Phone string `json:"phone"` //是 门店电话
|
||||
// Item []int `json:"item"` //否 门店组ID
|
||||
CustomerID string `json:"customerId"` //否 商家门店Id,商家维度不可重复
|
||||
CategoryName string `json:"categoryName"` //否 门店扩展属性类目名称固定填为:popmendianSelfdelivery
|
||||
ExtendJson string `json:"extendJson"` //是 扩展属性JSON如:{name1:'value1',name2:'value2'},营业时间必传固定json格式:{\'businessBeginTime\':\'09:00\',\'businessEndTime\':\'22:00\'}' ,可将中间的时间变更
|
||||
ImageFile []byte `json:"imageFile"` //否 门店图片,图片二进制文件流,允许png、jpg、gif、jpeg、bmp图片格式,1M以内。
|
||||
ExtendJSON string `json:"extendJson"` //是 扩展属性JSON如:{name1:'value1',name2:'value2'},营业时间必传固定json格式:{\'businessBeginTime\':\'09:00\',\'businessEndTime\':\'22:00\'}' ,可将中间的时间变更
|
||||
ImageFile string `json:"imageFile"` //否 门店图片,图片二进制文件流,允许png、jpg、gif、jpeg、bmp图片格式,1M以内。
|
||||
}
|
||||
|
||||
type UpdateEntityStoreParam struct {
|
||||
StoreID int `json:"storeId"` //门店ID(京东)
|
||||
CreateEntityStoreParam
|
||||
}
|
||||
|
||||
type GetAddressCodeResult struct {
|
||||
ParentID int `json:"parentId"`
|
||||
Level int `json:"level"`
|
||||
AreaName string `json:"areaName"`
|
||||
Status int `json:"status"`
|
||||
AreaID int `json:"areaId"`
|
||||
}
|
||||
|
||||
//创建门店
|
||||
@@ -24,3 +37,53 @@ func (a *API) CreateEntityStore(createEntityStoreParam *CreateEntityStoreParam)
|
||||
_, err = a.AccessAPI("jingdong.createEntityStore", prodURL, utils.Struct2FlatMap(createEntityStoreParam))
|
||||
return err
|
||||
}
|
||||
|
||||
//修改门店
|
||||
//https://open.jd.com/home/home#/doc/api?apiCateId=55&apiId=2221&apiName=jingdong.updateEntityStore
|
||||
func (a *API) UpdateEntityStore(updateEntityStoreParam *UpdateEntityStoreParam) (err error) {
|
||||
_, err = a.AccessAPI("jingdong.updateEntityStore", prodURL, utils.Struct2FlatMap(updateEntityStoreParam))
|
||||
return err
|
||||
}
|
||||
|
||||
//删除门店
|
||||
//https://open.jd.com/home/home#/doc/api?apiCateId=55&apiId=2222&apiName=jingdong.deleteStoresById
|
||||
func (a *API) DeleteStoresByID(storeId int) (err error) {
|
||||
_, err = a.AccessAPI("jingdong.deleteStoresById", prodURL, map[string]interface{}{
|
||||
"storeId": storeId,
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
//获取省地址信息et
|
||||
//https://jos.jd.com/api/detail.htm?apiName=jingdong.areas.province.get&id=1011
|
||||
func (a *API) GetProvince() (getAddressCodeResult []*GetAddressCodeResult, err error) {
|
||||
result, err := a.AccessAPI("jingdong.areas.province.get", prodURL, nil)
|
||||
if err == nil {
|
||||
utils.Map2StructByJson(result["jingdong_areas_province_get_responce"].(map[string]interface{})["baseAreaServiceResponse"].(map[string]interface{})["data"], &getAddressCodeResult, false)
|
||||
}
|
||||
return getAddressCodeResult, err
|
||||
}
|
||||
|
||||
//获取市地址信息et
|
||||
//https://jos.jd.com/api/detail.htm?apiName=jingdong.areas.city.get&id=1014
|
||||
func (a *API) GetCity(parentID int) (getAddressCodeResult []*GetAddressCodeResult, err error) {
|
||||
result, err := a.AccessAPI("jingdong.areas.city.get", prodURL, map[string]interface{}{
|
||||
"parent_id": parentID,
|
||||
})
|
||||
if err == nil {
|
||||
utils.Map2StructByJson(result["jingdong_areas_city_get_responce"].(map[string]interface{})["baseAreaServiceResponse"].(map[string]interface{})["data"], &getAddressCodeResult, false)
|
||||
}
|
||||
return getAddressCodeResult, err
|
||||
}
|
||||
|
||||
//获取区地址信息et
|
||||
//https://jos.jd.com/api/detail.htm?apiName=jingdong.areas.county.get&id=1012
|
||||
func (a *API) GetCounty(parentID int) (getAddressCodeResult []*GetAddressCodeResult, err error) {
|
||||
result, err := a.AccessAPI("jingdong.areas.county.get", prodURL, map[string]interface{}{
|
||||
"parent_id": parentID,
|
||||
})
|
||||
if err == nil {
|
||||
utils.Map2StructByJson(result["jingdong_areas_county_get_responce"].(map[string]interface{})["baseAreaServiceResponse"].(map[string]interface{})["data"], &getAddressCodeResult, false)
|
||||
}
|
||||
return getAddressCodeResult, err
|
||||
}
|
||||
|
||||
@@ -1,11 +1,52 @@
|
||||
package jdshopapi
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"encoding/base64"
|
||||
"testing"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
)
|
||||
|
||||
func TestCreateEntityStore(t *testing.T) {
|
||||
err := api.CreateEntityStore(&CreateEntityStoreParam{})
|
||||
data, _, err := DownloadFileByURL("http://image.jxc4.com/image/b90ae8585e8cf2f3871f6e8318bde1dc.tem.png")
|
||||
err = api.CreateEntityStore(&CreateEntityStoreParam{
|
||||
Name: "京西菜市门店1",
|
||||
AddCode: 50946,
|
||||
AddCodeName: "金牛区",
|
||||
AddName: "成都金牛区@!加州湾v派",
|
||||
Coordinate: "29.707870,115.980868",
|
||||
Phone: "18160030913",
|
||||
ExtendJSON: `{"businessBeginTime":"09:00","businessEndTime":"22:00"}`,
|
||||
ImageFile: base64.StdEncoding.EncodeToString(data),
|
||||
CategoryName: "pop-mendian-Selfdelivery",
|
||||
CustomerID: "666934",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestGetProvince(t *testing.T) {
|
||||
result, err := api.GetProvince()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestGetCity(t *testing.T) {
|
||||
result, err := api.GetCity(22)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestGetCounty(t *testing.T) {
|
||||
result, err := api.GetCounty(1930)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user