From 188abb987a5380b7cd76bd230abac45a4c858f61 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 3 Sep 2019 18:15:07 +0800 Subject: [PATCH] + GetByOrderNoForOaos and CheckSelfPickCode. --- platformapi/jdapi/order.go | 63 ++++++++++++++++++++++++++++++--- platformapi/jdapi/order_test.go | 10 +++++- platformapi/jdapi/store.go | 1 + 3 files changed, 68 insertions(+), 6 deletions(-) diff --git a/platformapi/jdapi/order.go b/platformapi/jdapi/order.go index d994cb5d..8a75d2a7 100644 --- a/platformapi/jdapi/order.go +++ b/platformapi/jdapi/order.go @@ -37,11 +37,10 @@ const ( ) const ( - FreightDiscountTypeByShop = 8 // 8:商家满免运费 - FreightDiscountTypeByVip = 7 // 7:VIP免运费 - FreightDiscountTypeByActivity = 12 // 12:首单地推满免运费 - FreightDiscountTypeByCoupons = 15 // 15:运费券 - SelfDeliveryCarrierNo = "2938" // 京东配送方式=商家自送 + FreightDiscountTypeByShop = 8 // 8:商家满免运费 + FreightDiscountTypeByVip = 7 // 7:VIP免运费 + FreightDiscountTypeByActivity = 12 // 12:首单地推满免运费 + FreightDiscountTypeByCoupons = 15 // 15:运费券 ) const ( @@ -324,6 +323,35 @@ type OrderQueryParam struct { DeliveryStationNoIsv string `json:"deliveryStationNoIsv,omitempty"` // 商家门店编码 } +type SonTag struct { + MqProcessTime string `json:"mqProcessTime"` + OperTime string `json:"operTime"` + TagCode int `json:"tagCode"` + CodeName string `json:"codeName"` + OperPin string `json:"operPin"` + OperName int `json:"operName"` + MsgContent string `json:"msgContent"` +} + +type OrderTrack struct { + SonTagList []*SonTag `json:"sonTagList"` + IsThirdCarry int `json:"isThirdCarry"` + OperFrom string `json:"operFrom"` + MqProcessTime string `json:"mqProcessTime"` + TagIcon string `json:"tagIcon"` + OperTime string `json:"operTime"` + ThirdCarry int `json:"thirdCarry"` + TagTitle string `json:"tagTitle"` + CodeName string `json:"codeName"` + TagCode int `json:"tagCode"` + OperPin string `json:"operPin"` + OperName string `json:"operName"` + Care bool `json:"care"` + MsgContent string `json:"msgContent"` + MsgContentApp string `json:"msgContentApp"` + DoNotCareReason string `json:"doNotCareReason"` +} + var ( ErrCanNotFindOrder = errors.New("can not find order") ) @@ -665,3 +693,28 @@ func (a *API) OrderAddTips(orderID string, tips int, operator string) (err error _, err = a.AccessAPINoPage("order/addTips", jdParams, nil, nil, nullResultParser) return err } + +// 根据订单号查询订单跟踪接口 +// https://openo2o.jddj.com/staticnew/widgets/resources.html?groupid=169&apiid=d9d4fd73fba14fd8851a4c054d2ee42e +func (a *API) GetByOrderNoForOaos(orderNo string) (orderTrackList []*OrderTrack, err error) { + jdParams := map[string]interface{}{ + "orderNo": orderNo, + } + result, err := a.AccessAPINoPage("orderTrace/getByOrderNoForOaos", jdParams, nil, nil, genNoPageResultParser("code", "msg", "orderTrackList", "0")) + if err == nil { + err = utils.Map2StructByJson(result, &orderTrackList, false) + } + return orderTrackList, err +} + +// 订单自提码核验接口 +// https://openo2o.jddj.com/staticnew/widgets/resources.html?groupid=169&apiid=428fa2cb66784b64a85db36ec2972ff9 +func (a *API) CheckSelfPickCode(selfPickCode, orderID, operPin string) (err error) { + jdParams := map[string]interface{}{ + "selfPickCode": selfPickCode, + "orderId": orderID, + "operPin": operPin, + } + _, err = a.AccessAPINoPage("ocs/checkSelfPickCode", jdParams, nil, nil, nullResultParser) + return err +} diff --git a/platformapi/jdapi/order_test.go b/platformapi/jdapi/order_test.go index 89d94372..c9a33b52 100644 --- a/platformapi/jdapi/order_test.go +++ b/platformapi/jdapi/order_test.go @@ -10,7 +10,7 @@ import ( ) func TestQuerySingleOrder(t *testing.T) { - retVal, err := api.QuerySingleOrder("918092290000042") + retVal, err := api.QuerySingleOrder("921160248000222") t.Log(utils.Format4Output(retVal, false)) if err != nil { t.Error(err) @@ -236,3 +236,11 @@ func TestOrderQuery2(t *testing.T) { t.Fatal(err.Error()) } } + +func TestGetByOrderNoForOaos(t *testing.T) { + orderList, err := api.GetByOrderNoForOaos("921160248000222") + t.Log(utils.Format4Output(orderList, false)) + if err != nil { + t.Fatal(err.Error()) + } +} diff --git a/platformapi/jdapi/store.go b/platformapi/jdapi/store.go index 7cf8798b..91812604 100644 --- a/platformapi/jdapi/store.go +++ b/platformapi/jdapi/store.go @@ -47,6 +47,7 @@ type CityInfo struct { const ( CarrierNoCrowdSourcing = 9966 // 众包 CarrierNoSelfDelivery = 2938 // 自送 + CarrierNoSelfTake = 9999 // 到店自提 ) func (a *API) GetAllCities() (cities []*CityInfo, err error) {