京东商城获取省市区
This commit is contained in:
@@ -11,11 +11,24 @@ type CreateEntityStoreParam struct {
|
|||||||
AddName string `json:"addName"` //是 标准地址加扩展地址以@!分隔 必填 例:北京大兴区亦庄经济开发区@!京东大厦
|
AddName string `json:"addName"` //是 标准地址加扩展地址以@!分隔 必填 例:北京大兴区亦庄经济开发区@!京东大厦
|
||||||
Coordinate string `json:"coordinate"` //是 门店坐标 纬度在前,经度在后 例:39.786683,116.563075
|
Coordinate string `json:"coordinate"` //是 门店坐标 纬度在前,经度在后 例:39.786683,116.563075
|
||||||
Phone string `json:"phone"` //是 门店电话
|
Phone string `json:"phone"` //是 门店电话
|
||||||
Item []int `json:"item"` //否 门店组ID
|
// Item []int `json:"item"` //否 门店组ID
|
||||||
CustomerId string `json:"customerId"` //否 商家门店Id,商家维度不可重复
|
CustomerID string `json:"customerId"` //否 商家门店Id,商家维度不可重复
|
||||||
CategoryName string `json:"categoryName"` //否 门店扩展属性类目名称固定填为:popmendianSelfdelivery
|
CategoryName string `json:"categoryName"` //否 门店扩展属性类目名称固定填为:popmendianSelfdelivery
|
||||||
ExtendJson string `json:"extendJson"` //是 扩展属性JSON如:{name1:'value1',name2:'value2'},营业时间必传固定json格式:{\'businessBeginTime\':\'09:00\',\'businessEndTime\':\'22:00\'}' ,可将中间的时间变更
|
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以内。
|
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))
|
_, err = a.AccessAPI("jingdong.createEntityStore", prodURL, utils.Struct2FlatMap(createEntityStoreParam))
|
||||||
return err
|
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
|
package jdshopapi
|
||||||
|
|
||||||
import "testing"
|
import (
|
||||||
|
"encoding/base64"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
)
|
||||||
|
|
||||||
func TestCreateEntityStore(t *testing.T) {
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
// t.Log(utils.Format4Output(result, false))
|
// 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