1
This commit is contained in:
@@ -2,24 +2,97 @@ package uuptapi
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
)
|
||||
|
||||
//计算订单价格
|
||||
func (a *API) GetOrderPrice(req map[string]interface{}) (needPayMoney, priceToken string, err error) {
|
||||
preOrder := a.MakeUURequestHead()
|
||||
resp, err := a.AccessAPI(BaseURL, "getorderprice.ashx", RequestPost, utils.MergeMaps(preOrder, req))
|
||||
func (a *API) GetOrderPrice(req map[string]interface{}) (*GetOrderPriceResp, error) {
|
||||
preParam := a.MakeUURequestHead()
|
||||
resp, err := a.AccessAPI(BaseURL, "getorderprice.ashx", RequestPost, utils.MergeMaps(preParam, req))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if resp["return_code"] != ReturnSuccess {
|
||||
return nil, fmt.Errorf("UU跑腿获取运单价格失败:%s", resp["return_msg"])
|
||||
}
|
||||
retVal := GetOrderPriceResp{}
|
||||
if temp, err := json.Marshal(resp); err == nil {
|
||||
err = json.Unmarshal(temp, &retVal)
|
||||
}
|
||||
con := retVal != GetOrderPriceResp{}
|
||||
if con {
|
||||
return &retVal, nil
|
||||
} else {
|
||||
return nil, fmt.Errorf("UU跑腿未返回运单价格")
|
||||
}
|
||||
}
|
||||
|
||||
//发布订单
|
||||
func (a *API) AddOrder(req map[string]interface{}) (orderCode, originID string, err error) {
|
||||
preParam := a.MakeUURequestHead()
|
||||
resp, err := a.AccessAPI(BaseURL, "addorder.ashx", RequestPost, utils.MergeMaps(preParam, req))
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
}
|
||||
retVal := GetOrderPriceResp{}
|
||||
if err := json.Unmarshal([]byte(resp["param"].(string)), &retVal); err != nil {
|
||||
return "", "", err
|
||||
if resp["return_code"] != ReturnSuccess {
|
||||
return "", "", fmt.Errorf("UU跑腿发布运单失败:%s", resp["return_msg"])
|
||||
}
|
||||
con := retVal == GetOrderPriceResp{}
|
||||
if !utils.IsNil(retVal) && !con {
|
||||
needPayMoney = retVal.NeedPayMoney
|
||||
priceToken = retVal.PriceToken
|
||||
retVal := AddOrderResp{}
|
||||
if temp, err := json.Marshal(resp); err == nil {
|
||||
err = json.Unmarshal(temp, &retVal)
|
||||
}
|
||||
con := retVal != AddOrderResp{}
|
||||
if con {
|
||||
return retVal.OrderCode, retVal.OriginID, nil
|
||||
} else {
|
||||
return "", "", fmt.Errorf("UU跑腿未返回运单ID")
|
||||
}
|
||||
}
|
||||
|
||||
//查询订单信息
|
||||
func (a *API) GetOrderDetail(orderCode string) (*GetOrderDetailResp, error) {
|
||||
preParam := a.MakeUURequestHead()
|
||||
preParam["order_code"] = orderCode
|
||||
resp, err := a.AccessAPI(BaseURL, "getorderdetail.ashx", RequestPost, preParam)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if resp["return_code"] != ReturnSuccess {
|
||||
return nil, fmt.Errorf("UU跑腿获取运单详情失败:%s", resp["return_msg"])
|
||||
}
|
||||
retVal := GetOrderDetailResp{}
|
||||
if temp, err := json.Marshal(resp); err == nil {
|
||||
err = json.Unmarshal(temp, &retVal)
|
||||
}
|
||||
con := retVal != GetOrderDetailResp{}
|
||||
if con {
|
||||
return &retVal, nil
|
||||
} else {
|
||||
return nil, fmt.Errorf("UU跑腿未返回运单详情")
|
||||
}
|
||||
}
|
||||
|
||||
//取消订单
|
||||
func (a *API) CancelOrder(orderCode, reason string) error {
|
||||
preParam := a.MakeUURequestHead()
|
||||
preParam["order_code"] = orderCode
|
||||
preParam["reason"] = reason
|
||||
resp, err := a.AccessAPI(BaseURL, "cancelorder.ashx", RequestPost, preParam)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if resp["return_code"] != ReturnSuccess {
|
||||
return fmt.Errorf("UU跑腿取消运单失败:%s", resp["return_msg"])
|
||||
}
|
||||
retVal := CancelOrderResp{}
|
||||
if temp, err := json.Marshal(resp); err == nil {
|
||||
err = json.Unmarshal(temp, &retVal)
|
||||
}
|
||||
con := retVal != CancelOrderResp{}
|
||||
if con {
|
||||
return nil
|
||||
} else {
|
||||
return fmt.Errorf("UU跑腿未返回取消运单详情")
|
||||
}
|
||||
return needPayMoney, priceToken, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user