From 68c0bd19b7de4705160bf4d0aa445ee47a451a05 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 14 Nov 2018 15:00:49 +0800 Subject: [PATCH] - ebai OrderPrivateInfo --- platformapi/ebaiapi/order.go | 30 +++++++++++++++++++++++++++++- platformapi/ebaiapi/order_test.go | 8 ++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/platformapi/ebaiapi/order.go b/platformapi/ebaiapi/order.go index 64172d9d..f2ed965f 100644 --- a/platformapi/ebaiapi/order.go +++ b/platformapi/ebaiapi/order.go @@ -1,6 +1,10 @@ package ebaiapi -import "git.rosy.net.cn/baseapi/utils" +import ( + "time" + + "git.rosy.net.cn/baseapi/utils" +) const ( CancelTypeNotInServiceArea = "1" @@ -50,6 +54,11 @@ type ExpressInfo struct { ExpressCompany string `json:"express_company"` } +type PrivateMobileInfo struct { + ShortNumber string `json:"short_number"` + ExpireDate *time.Time `json:"expire_date"` +} + // 提供给合作方确认订单所用。 注:1、10分钟内未确认的订单系统自动取消。2、确认失败的订单请不要做餐。 2016年7月4号起,将由百度外卖负责完成订单。届时,对接方无需调用完成订单接口,继续调用可能导致订单结算有问题。 func (a *API) OrderConfirm(orderID string) (err error) { _, err = a.AccessAPI("order.confirm", map[string]interface{}{ @@ -133,3 +142,22 @@ func (a *API) OrderExpressCreate(shopID string, expressList []*ExpressInfo) (sta } return 0, err } + +func (a *API) OrderPrivateInfo(orderID string) (mobileInfo *PrivateMobileInfo, err error) { + result, err := a.AccessAPI("order.privateinfo", map[string]interface{}{ + "order_id": orderID, + }) + if err == nil { + mapData := result.Data.(map[string]interface{}) + mobileInfo = &PrivateMobileInfo{ + ShortNumber: mapData["short_number"].(string), + } + expireDate := utils.Interface2String(mapData["expire_date"]) + if expireDate != "" { + tmpTime := utils.Str2Time(expireDate) + mobileInfo.ExpireDate = &tmpTime + } + return mobileInfo, nil + } + return nil, err +} diff --git a/platformapi/ebaiapi/order_test.go b/platformapi/ebaiapi/order_test.go index 6f323d5c..6c5293b4 100644 --- a/platformapi/ebaiapi/order_test.go +++ b/platformapi/ebaiapi/order_test.go @@ -28,3 +28,11 @@ func TestOrderSendOut(t *testing.T) { t.Fatal(err) } } + +func TestOrderPrivateInfot(t *testing.T) { + _, err := api.OrderPrivateInfo("15421782068884") + if err != nil { + t.Fatal(err) + } + // t.Log(result) +}