diff --git a/platformapi/dadaapi/order.go b/platformapi/dadaapi/order.go index 0f0e6eb0..1fe47a60 100644 --- a/platformapi/dadaapi/order.go +++ b/platformapi/dadaapi/order.go @@ -21,7 +21,7 @@ const ( const ( OrderStatusWaitingForAccept = 1 OrderStatusAccepted = 2 // 待取货 - OrderStatusDeliverying = 3 + OrderStatusDelivering = 3 OrderStatusFinished = 4 OrderStatusCanceled = 5 OrderStatusExpired = 7 diff --git a/platformapi/elmapi/order.go b/platformapi/elmapi/order.go index 664a8ebd..ccbcdef9 100644 --- a/platformapi/elmapi/order.go +++ b/platformapi/elmapi/order.go @@ -47,12 +47,10 @@ func (a *API) GetOrder(orderID string) (map[string]interface{}, error) { result, err := a.AccessAPI("eleme.order.getOrder", map[string]interface{}{ "orderId": orderID, }) - if err == nil { innerResult := result.Result.(map[string]interface{}) return innerResult, nil } - return nil, err } @@ -60,7 +58,6 @@ func (a *API) ConfirmOrder(orderID string) error { _, err := a.AccessAPI("eleme.order.confirmOrderLite", map[string]interface{}{ "orderId": orderID, }) - return err } @@ -70,6 +67,31 @@ func (a *API) CancelOrder(orderID string, cancelType string, remark string) erro "type": cancelType, "remark": remark, }) - + return err +} + +// 配送异常或者物流拒单后选择自行配送(推荐) +func (a *API) DeliveryBySelfLite(orderID string) error { + _, err := a.AccessAPI("eleme.order.deliveryBySelfLite", map[string]interface{}{ + "orderId": orderID, + }) + return err +} + +// 订单确认送出(自配送) +func (a *API) StartDeliveryBySelf(orderID, courierPhone string) error { + _, err := a.AccessAPI("eleme.order.startDeliveryBySelf", map[string]interface{}{ + "orderId": orderID, + "phone": courierPhone, + }) + return err +} + +// 订单确认送达(自配送) +func (a *API) CompleteDeliveryBySelf(orderID, courierPhone string) error { + _, err := a.AccessAPI("eleme.order.completeDeliveryBySelf", map[string]interface{}{ + "orderId": orderID, + "phone": courierPhone, + }) return err } diff --git a/platformapi/jdapi/jdapi.go b/platformapi/jdapi/jdapi.go index 04773d0d..4d87d373 100644 --- a/platformapi/jdapi/jdapi.go +++ b/platformapi/jdapi/jdapi.go @@ -39,6 +39,12 @@ const ( ResponseCodeLoadUnexpected = "100024" ) +const ( + ResponseInnerCodeOrderAlreadyPickedUp = "10132" + ResponseInnerCodeOrderCanceled = "10138" + ResponseInnerCodeOrderLocked = "10139" +) + const ( prodURL = "https://openo2o.jd.com/djapi" signKey = "sign" diff --git a/platformapi/jdapi/order.go b/platformapi/jdapi/order.go index db0773e9..105ead72 100644 --- a/platformapi/jdapi/order.go +++ b/platformapi/jdapi/order.go @@ -97,3 +97,44 @@ func (a API) OrderAcceptOperate(orderId string, isAgreed bool) (interface{}, err } return a.AccessAPINoPage("ocs/orderAcceptOperate", jdParams, nil, nil) } + +// 拣货完成且众包配送接口 +// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=ed93745b86c6487eaaea5f55a84785ac +func (a API) OrderJDZBDelivery(orderId string) (interface{}, error) { + jdParams := map[string]interface{}{ + "orderId": orderId, + "operator": utils.GetAPIOperator(), + } + return a.AccessAPINoPage("/bm/open/api/order/OrderJDZBDelivery", jdParams, nil, nil) +} + +// 订单达达配送转商家自送接口 +// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=e7b4950164754eecac7ea87278c2b071 +func (a API) ModifySellerDelivery(orderId string) (interface{}, error) { + jdParams := map[string]interface{}{ + "orderId": orderId, + "updatePin": utils.GetAPIOperator(), + } + return a.AccessAPINoPage("order/modifySellerDelivery", jdParams, nil, nil) +} + +// 拣货完成且商家自送接口 +// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=0e08e71a45dc48b6a337e06a852ac33a +func (a API) OrderSerllerDelivery(orderId string) (interface{}, error) { + jdParams := map[string]interface{}{ + "orderId": orderId, + "operator": utils.GetAPIOperator(), + } + return a.AccessAPINoPage("bm/open/api/order/OrderSerllerDelivery", jdParams, nil, nil) +} + +// 商家自送,订单妥投接口 +// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=ecc80f06d35141979f4841f345001f74 +func (a API) DeliveryEndOrder(orderId string) (interface{}, error) { + jdParams := map[string]interface{}{ + "orderId": orderId, + "operator": utils.GetAPIOperator(), + "operTime": utils.GetCurTimeStr(), + } + return a.AccessAPINoPage("ocs/deliveryEndOrder", jdParams, nil, nil) +}