达达新接口
This commit is contained in:
@@ -13,7 +13,7 @@ import (
|
||||
var (
|
||||
dadaapi *API
|
||||
sugarLogger *zap.SugaredLogger
|
||||
testOrder *OperateOrderRequiredParams
|
||||
testOrder *OperateOrderParams
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -32,7 +32,7 @@ func init() {
|
||||
// dadaapi = New("dada147f7a190ce7b3c", "2c717ad914767d6e2beb3f743db9e477", "6660", "http://callback.jxc4.com/dada/order", true)
|
||||
|
||||
// prod
|
||||
testOrder = &OperateOrderRequiredParams{
|
||||
testOrder = &OperateOrderParams{
|
||||
ShopNo: testShopNo,
|
||||
OriginID: "234242342",
|
||||
CityCode: "028",
|
||||
@@ -118,7 +118,7 @@ func TestGetReasons(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAddOrder(t *testing.T) {
|
||||
result, err := dadaapi.AddOrder(testOrder, nil)
|
||||
result, err := dadaapi.AddOrder(testOrder)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
@@ -126,7 +126,7 @@ func TestAddOrder(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestReaddOrder(t *testing.T) {
|
||||
result, err := dadaapi.ReaddOrder(testOrder, nil)
|
||||
result, err := dadaapi.ReaddOrder(testOrder)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
@@ -49,20 +49,6 @@ const (
|
||||
CargoTypeOther = 5 // 其他
|
||||
)
|
||||
|
||||
type OperateOrderRequiredParams struct {
|
||||
ShopNo string `json:"shop_no"`
|
||||
OriginID string `json:"origin_id"`
|
||||
CityCode string `json:"city_code"`
|
||||
CargoPrice float64 `json:"cargo_price"`
|
||||
IsPrepay int `json:"is_prepay"`
|
||||
ReceiverName string `json:"receiver_name"`
|
||||
ReceiverAddress string `json:"receiver_address"`
|
||||
ReceiverLat float64 `json:"receiver_lat"`
|
||||
ReceiverLng float64 `json:"receiver_lng"`
|
||||
ReceiverPhone string `json:"receiver_phone"`
|
||||
ReceiverTel string `json:"receiver_tel"`
|
||||
}
|
||||
|
||||
type OperateOrderParams struct {
|
||||
// 以下为必要参数
|
||||
|
||||
@@ -141,19 +127,9 @@ type OrderInfo struct {
|
||||
TransporterPhone string `json:"transporterPhone"`
|
||||
}
|
||||
|
||||
func (a *API) QueryOrderInfo(orderID string) (retVal map[string]interface{}, err error) {
|
||||
params := make(map[string]interface{})
|
||||
params["order_id"] = orderID
|
||||
result, err := a.AccessAPI("api/order/status/query", params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return result.Result.(map[string]interface{}), nil
|
||||
}
|
||||
|
||||
// 订单详情查询
|
||||
// http://newopen.imdada.cn/#/development/file/statusQuery?_k=7ou2o1
|
||||
func (a *API) QueryOrderInfo2(orderID string) (order *OrderInfo, err error) {
|
||||
func (a *API) QueryOrderInfo(orderID string) (order *OrderInfo, err error) {
|
||||
params := make(map[string]interface{})
|
||||
params["order_id"] = orderID
|
||||
result, err := a.AccessAPI("api/order/status/query", params)
|
||||
@@ -163,37 +139,7 @@ func (a *API) QueryOrderInfo2(orderID string) (order *OrderInfo, err error) {
|
||||
return order, err
|
||||
}
|
||||
|
||||
// func map2CreateOrderResponse(mapData map[string]interface{}) *CreateOrderResponse {
|
||||
// retVal := new(CreateOrderResponse)
|
||||
// retVal.Distance = utils.MustInterface2Float64(mapData["distance"])
|
||||
// retVal.Fee = utils.MustInterface2Float64(mapData["fee"])
|
||||
// retVal.DeliverFee = utils.MustInterface2Float64(mapData["deliverFee"])
|
||||
// retVal.DeliveryNo = utils.Interface2String(mapData["deliveryNo"])
|
||||
|
||||
// if value, ok := mapData["couponFee"]; ok {
|
||||
// retVal.CouponFee = utils.MustInterface2Float64(value)
|
||||
// }
|
||||
// if value, ok := mapData["tips"]; ok {
|
||||
// retVal.CouponFee = utils.MustInterface2Float64(value)
|
||||
// }
|
||||
// if value, ok := mapData["insuranceFee"]; ok {
|
||||
// retVal.CouponFee = utils.MustInterface2Float64(value)
|
||||
// }
|
||||
// return retVal
|
||||
// }
|
||||
|
||||
func (a *API) operateOrder(action string, orderInfo *OperateOrderRequiredParams, addParams map[string]interface{}) (retVal *CreateOrderResponse, err error) {
|
||||
params := utils.Struct2MapByJson(orderInfo)
|
||||
params["callback"] = a.callbackURL
|
||||
allParams := utils.MergeMaps(params, addParams)
|
||||
result, err := a.AccessAPI(action, allParams)
|
||||
if err == nil {
|
||||
err = utils.Map2StructByJson(result.Result, &retVal, false)
|
||||
}
|
||||
return retVal, err
|
||||
}
|
||||
|
||||
func (a *API) operateOrder2(action string, orderInfo *OperateOrderParams) (retVal *CreateOrderResponse, err error) {
|
||||
func (a *API) operateOrder(action string, orderInfo *OperateOrderParams) (retVal *CreateOrderResponse, err error) {
|
||||
params := utils.Struct2MapByJson(orderInfo)
|
||||
params["callback"] = a.callbackURL
|
||||
result, err := a.AccessAPI(action, params)
|
||||
@@ -203,28 +149,16 @@ func (a *API) operateOrder2(action string, orderInfo *OperateOrderParams) (retVa
|
||||
return retVal, err
|
||||
}
|
||||
|
||||
func (a *API) AddOrder(orderInfo *OperateOrderRequiredParams, addParams map[string]interface{}) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder("api/order/addOrder", orderInfo, addParams)
|
||||
func (a *API) AddOrder(orderInfo *OperateOrderParams) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder("api/order/addOrder", orderInfo)
|
||||
}
|
||||
|
||||
func (a *API) AddOrder2(orderInfo *OperateOrderParams) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder2("api/order/addOrder", orderInfo)
|
||||
func (a *API) ReaddOrder(orderInfo *OperateOrderParams) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder("api/order/reAddOrder", orderInfo)
|
||||
}
|
||||
|
||||
func (a *API) ReaddOrder(orderInfo *OperateOrderRequiredParams, addParams map[string]interface{}) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder("api/order/reAddOrder", orderInfo, addParams)
|
||||
}
|
||||
|
||||
func (a *API) ReaddOrder2(orderInfo *OperateOrderParams) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder2("api/order/reAddOrder", orderInfo)
|
||||
}
|
||||
|
||||
func (a *API) QueryDeliverFee(orderInfo *OperateOrderRequiredParams, addParams map[string]interface{}) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder("api/order/queryDeliverFee", orderInfo, addParams)
|
||||
}
|
||||
|
||||
func (a *API) QueryDeliverFee2(orderInfo *OperateOrderParams) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder2("api/order/queryDeliverFee", orderInfo)
|
||||
func (a *API) QueryDeliverFee(orderInfo *OperateOrderParams) (retVal *CreateOrderResponse, err error) {
|
||||
return a.operateOrder("api/order/queryDeliverFee", orderInfo)
|
||||
}
|
||||
|
||||
func (a *API) AddOrderAfterQuery(deliveryNo string) (err error) {
|
||||
|
||||
@@ -10,18 +10,18 @@ import (
|
||||
|
||||
func TestAddOrderAfterQuery(t *testing.T) {
|
||||
orderID := utils.GetUUID()
|
||||
result, err := dadaapi.QueryDeliverFee(&OperateOrderRequiredParams{
|
||||
result, err := dadaapi.QueryDeliverFee(&OperateOrderParams{
|
||||
ShopNo: testShopNo,
|
||||
OriginID: orderID,
|
||||
CityCode: "028",
|
||||
CargoPrice: 0.01,
|
||||
IsPrepay: 0,
|
||||
ReceiverName: "徐建华",
|
||||
ReceiverName: "某人",
|
||||
ReceiverAddress: "西南交通大学科技大厦",
|
||||
ReceiverLng: 104.056822,
|
||||
ReceiverLat: 30.696041,
|
||||
ReceiverPhone: "18180948107",
|
||||
}, nil)
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -39,32 +39,6 @@ func TestAddOrderAfterQuery(t *testing.T) {
|
||||
baseapi.SugarLogger.Debug(utils.Format4Output(cancelResponse, false))
|
||||
}
|
||||
|
||||
func TestAddOrderAfterQuery2(t *testing.T) {
|
||||
orderID := utils.GetUUID()
|
||||
result, err := dadaapi.QueryDeliverFee2(&OperateOrderParams{
|
||||
ShopNo: testShopNo,
|
||||
OriginID: orderID,
|
||||
CityCode: "028",
|
||||
CargoPrice: 0.01,
|
||||
IsPrepay: 0,
|
||||
ReceiverName: "徐建华",
|
||||
ReceiverAddress: "西南交通大学科技大厦",
|
||||
ReceiverLng: 104.056822,
|
||||
ReceiverLat: 30.696041,
|
||||
ReceiverPhone: "18180948107",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
baseapi.SugarLogger.Debug(orderID)
|
||||
baseapi.SugarLogger.Debug(utils.Format4Output(result, false))
|
||||
|
||||
err = dadaapi.AddOrderAfterQuery(result.DeliveryNo)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCancel(t *testing.T) {
|
||||
cancelResponse, err := dadaapi.CancelOrder("91BBFE1626E011EAA059186590E02977", ReasonIDOther, "test")
|
||||
if err != nil {
|
||||
@@ -88,8 +62,8 @@ func TestComplaintRider(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestQueryOrderInfo2(t *testing.T) {
|
||||
result, err := dadaapi.QueryOrderInfo2("80704840263399812")
|
||||
func TestQueryOrderInfo(t *testing.T) {
|
||||
result, err := dadaapi.QueryOrderInfo("80704840263399812")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -43,10 +43,7 @@ type ShopInfo struct {
|
||||
Password string `json:"password,omitempty"`
|
||||
|
||||
NewShopID string `json:"new_shop_id,omitempty"` // 修改用
|
||||
|
||||
BDName string `json:"bd_name,omitempty"` // 查询用
|
||||
BDPhone string `json:"bd_phone,omitempty"` // 查询用
|
||||
Status int `json:"status,omitempty"` // 查询用
|
||||
Status int `json:"status"` // 修改用,0是有效值
|
||||
}
|
||||
|
||||
type AddShopFailedInfo struct {
|
||||
@@ -97,7 +94,12 @@ func (a *API) ShopAdd(shopInfo *ShopInfo) (outOriginShopID string, err error) {
|
||||
}
|
||||
|
||||
func (a *API) BatchShopAdd(shopInfoList []*ShopInfo) (addResult *AddShopResult, err error) {
|
||||
result, err := a.AccessAPI("api/shop/add", shopInfoList)
|
||||
mapList := make([]map[string]interface{}, len(shopInfoList))
|
||||
for k, v := range shopInfoList {
|
||||
mapList[k] = utils.Struct2MapByJson(v)
|
||||
delete(mapList[k], "status") // 创建时没有status参数
|
||||
}
|
||||
result, err := a.AccessAPI("api/shop/add", mapList)
|
||||
err2 := utils.Map2StructByJson(result.Result, &addResult, false)
|
||||
if err == nil {
|
||||
err = err2
|
||||
|
||||
Reference in New Issue
Block a user