diff --git a/platformapi/dadaapi/order.go b/platformapi/dadaapi/order.go index f20affbe..ca0badc9 100644 --- a/platformapi/dadaapi/order.go +++ b/platformapi/dadaapi/order.go @@ -58,6 +58,11 @@ type CancelOrderResponse struct { DeductFee float64 `json:"deduct_fee"` } +type ComplaintReason struct { + ID int `json:"id"` + Reason string `json:"reason"` +} + func (a *API) QueryOrderInfo(orderID string) (retVal map[string]interface{}, err error) { params := make(map[string]interface{}) params["order_id"] = orderID @@ -128,3 +133,25 @@ func (a *API) CancelOrder(thirdPartOrderID string, cancelOrderReasonId int, canc retVal.DeductFee = utils.MustInterface2Float64(mapResult["deduct_fee"]) return retVal, nil } + +//获取投诉原因 +func (a *API) GetComplaintReasons() (complaintReasonList []*ComplaintReason, err error) { + result, err := a.AccessAPI("api/complaint/reasons", nil) + if err != nil { + return nil, err + } + for _, v := range result.Result.([]interface{}) { + mapResult := v.(map[string]interface{}) + complaintReason := &ComplaintReason{} + err = utils.Map2StructByJson(mapResult, complaintReason, false) + complaintReasonList = append(complaintReasonList, complaintReason) + } + return complaintReasonList, nil +} + +//投诉骑手 +func (a *API) ComplaintRider(orderID string, resonID int) (err error) { + mapData := utils.Params2Map("order_id", orderID, "reason_id", resonID) + _, err = a.AccessAPI("api/complaint/dada", mapData) + return err +} diff --git a/platformapi/dadaapi/order_test.go b/platformapi/dadaapi/order_test.go index c9706c11..f30280f6 100644 --- a/platformapi/dadaapi/order_test.go +++ b/platformapi/dadaapi/order_test.go @@ -1,6 +1,7 @@ package dadaapi import ( + "fmt" "testing" "git.rosy.net.cn/baseapi" @@ -45,3 +46,18 @@ func TestCancel(t *testing.T) { } baseapi.SugarLogger.Debug(utils.Format4Output(cancelResponse, false)) } + +func TestGetComplaintReasons(t *testing.T) { + complaintReason, err := dadaapi.GetComplaintReasons() + if err != nil { + t.Fatal(err) + } + fmt.Println(complaintReason) +} + +func TestComplaintRider(t *testing.T) { + err := dadaapi.ComplaintRider("123", 1) + if err != nil { + t.Fatal(err) + } +} diff --git a/platformapi/mtpsapi/mtpsapi.go b/platformapi/mtpsapi/mtpsapi.go index 650ec71e..592332bd 100644 --- a/platformapi/mtpsapi/mtpsapi.go +++ b/platformapi/mtpsapi/mtpsapi.go @@ -343,3 +343,15 @@ func (a *API) SimulateRearrange(deliveryId int64, mtPeiSongId string) (err error func (a *API) SimulateReportException(deliveryId int64, mtPeiSongId string) (err error) { return a.simulateOrderBehavior("reportException", deliveryId, mtPeiSongId) } + +//评价骑手 +func (a *API) EvaluateRider(deliveryId int64, mtPeiSongId string, score int, commentContent string) (err error) { + params := map[string]interface{}{ + "delivery_id": deliveryId, + "mt_peisong_id": mtPeiSongId, + "score": score, + "comment_content": commentContent, + } + _, err = a.AccessAPI("order/evaluate", params) + return err +} diff --git a/platformapi/mtpsapi/mtpsapi_test.go b/platformapi/mtpsapi/mtpsapi_test.go index 69ba5463..02e17ebc 100644 --- a/platformapi/mtpsapi/mtpsapi_test.go +++ b/platformapi/mtpsapi/mtpsapi_test.go @@ -62,3 +62,10 @@ func TestCancelOrder(t *testing.T) { handleError(t, err) sugarLogger.Debug(result) } + +func TestEvaluateRider(t *testing.T) { + err := api.EvaluateRider(123456789, "1529387562097059", 1, "just a test") + if err != nil { + t.Fatal(err) + } +}