添加蜂鸟配送
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package fnpsapi
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
@@ -12,24 +13,51 @@ const (
|
||||
StoreExist = "该门店已存在"
|
||||
)
|
||||
|
||||
type CreateStoreParam struct {
|
||||
ChainStoreCode string `json:"chain_store_code,omitempty"`
|
||||
ChainStoreName string `json:"chain_store_name,omitempty"`
|
||||
ChainStoreType int `json:"chain_store_type,omitempty"`
|
||||
MerchantCode string `json:"merchant_code,omitempty"`
|
||||
ContactPhone string `json:"contact_phone,omitempty"`
|
||||
Address string `json:"address,omitempty"`
|
||||
PositionSource int `json:"position_source,omitempty"`
|
||||
Longitude string `json:"longitude,omitempty"`
|
||||
Latitude string `json:"latitude,omitempty"`
|
||||
ServiceCode string `json:"service_code,omitempty"`
|
||||
const (
|
||||
// 创建状态
|
||||
ShopCreateStatusAuditRejected = 10 // 上架审核中
|
||||
ShopCreateStatusAuditPassed = 20 // 正常(已上架)
|
||||
ShopCreateStatusAuditCreated = 30 // 上架审核失败
|
||||
ShopCreateStatusAuditOnline = 40 // 已冻结
|
||||
ShopCreateStatusAuditUpdateRejected = 50 // 已下架
|
||||
// 修改状态
|
||||
ShopUpdateStatusAuditRejected = 0 // 无修改
|
||||
ShopUpdateStatusAuditPassed = 10 // 资料修改审核中
|
||||
ShopUpdateStatusAuditCreated = 20 // 审核通过
|
||||
ShopUpdateStatusAuditOnline = 30 // 审核驳回
|
||||
)
|
||||
|
||||
func (a *API) CreateStore(createStoreParam *CreateStoreBaseInfo) (result1 string, err error) {
|
||||
requestHead := a.MakeFnRequestHead()
|
||||
storeByte, err := json.Marshal(createStoreParam)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
requestHead["business_data"] = string(storeByte)
|
||||
result, err := a.AccessAPI(ApiURL, "chainstoreCreate", RequestPost, requestHead)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
createShop := struct {
|
||||
ChainStoreId string `json:"chain_store_id"`
|
||||
}{}
|
||||
if err := json.Unmarshal([]byte(utils.Interface2String(result["business_data"])), &createShop); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return createShop.ChainStoreId, nil
|
||||
}
|
||||
|
||||
func (a *API) CreateStore(createStoreParam *CreateStoreParam) (err error) {
|
||||
createStoreParam.ServiceCode = "1"
|
||||
params := utils.Struct2FlatMap(createStoreParam)
|
||||
_, err = a.AccessAPI("v2/chain_store", URL, params, true)
|
||||
return err
|
||||
func (a *API) UpdateStore(updateStore *UpdateStoreParam) (err error) {
|
||||
requestHead := a.MakeFnRequestHead()
|
||||
storeByte, err := json.Marshal(updateStore)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
requestHead["business_data"] = string(storeByte)
|
||||
_, err = a.AccessAPI(ApiURL, "chainstoreUpdate", RequestPost, requestHead)
|
||||
return
|
||||
}
|
||||
|
||||
type GetStoreResult struct {
|
||||
@@ -46,15 +74,41 @@ type GetStoreResult struct {
|
||||
}
|
||||
|
||||
func (a *API) GetStore(storeID string) (getStoreResult *GetStoreResult, err error) {
|
||||
result, err := a.AccessAPI("v2/chain_store/query", URL, map[string]interface{}{
|
||||
"chain_store_code": []string{storeID},
|
||||
}, true)
|
||||
if err == nil {
|
||||
if data, ok := result["data"].([]interface{}); ok {
|
||||
utils.Map2StructByJson(data[0], &getStoreResult, false)
|
||||
} else {
|
||||
err = fmt.Errorf(result["msg"].(string))
|
||||
params := GetOneStoreParam{
|
||||
BaseInfo: BaseInfo{
|
||||
AccessToken: a.accessToken,
|
||||
Signature: a.signature,
|
||||
MerchantID: a.merchantId,
|
||||
Version: a.version,
|
||||
AppID: a.appID,
|
||||
Timestamp: a.timestamp,
|
||||
},
|
||||
BusinessData: "",
|
||||
}
|
||||
|
||||
// 序列化请求参数
|
||||
data, err := json.Marshal(GetOneStore{MerchantID: a.merchantId, OutShopCode: storeID})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
params.BusinessData = string(data)
|
||||
paramsMap := utils.Struct2FlatMap(params)
|
||||
|
||||
result, err := a.AccessAPI(ApiURL, "chainstoreQuery", RequestPost, paramsMap)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if result["code"] != "200" {
|
||||
return nil, fmt.Errorf("%s", result["msg"])
|
||||
}
|
||||
|
||||
if storeData, ok := result["business_data"]; ok {
|
||||
if err := json.Unmarshal([]byte(utils.Interface2String(storeData)), &getStoreResult); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf(result["msg"].(string))
|
||||
}
|
||||
return getStoreResult, err
|
||||
}
|
||||
@@ -76,9 +130,3 @@ func IsErrShopExist(err error) bool {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (a *API) UpdateStore(createStoreParam *CreateStoreParam) (err error) {
|
||||
params := utils.Struct2FlatMap(createStoreParam)
|
||||
_, err = a.AccessAPI("v2/chain_store/update", URL, params, true)
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user