From 27bd01862c5238b112736ffc2fbfc600a6409571 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 29 Oct 2019 18:18:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0mtwmapi.GetOrderIdByDaySeqSin?= =?UTF-8?q?gle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/mtwmapi/order.go | 14 ++++++++++++++ platformapi/mtwmapi/order_test.go | 10 +++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/platformapi/mtwmapi/order.go b/platformapi/mtwmapi/order.go index 8f50e0f3..4b652036 100644 --- a/platformapi/mtwmapi/order.go +++ b/platformapi/mtwmapi/order.go @@ -575,9 +575,23 @@ func (a *API) GetOrderDaySeq(poiCode string) (daySeq int, err error) { return daySeq, err } +func (a *API) GetOrderIdByDaySeqSingle(poiCode string, dateTime time.Time, daySeq int) (vendorOrderID int64, err error) { + params := map[string]interface{}{ + KeyAppPoiCode: poiCode, + "date_time": dateTime.Format("20060102"), + "day_seq": daySeq, + } + result, err := a.AccessAPI("order/getOrderIdByDaySeq", true, params) + if err == nil { + vendorOrderID = utils.ForceInterface2Int64(result.(map[string]interface{})["order_id"]) + } + return vendorOrderID, err +} + // 订单流水号的开始序号,门店内每日的订单流水号都是从1开始。 // 订单流水号的结束序号,注意开始流水号与结束流水号的跨度需小于100,即差值最大为99 // 这个函数在给定的区间范围全部没有订单时,返回错误808,但如果有部分订单,返回的错误是0 +// 此API速度与查询的区间范围直接相关,越大越慢(即使订单不存在),最大可到4,5秒级别 func (a *API) GetOrderIdByDaySeq(poiCode string, dateTime time.Time, seqStart, seqEnd int) (vendorOrderIDs []int64, err error) { params := map[string]interface{}{ KeyAppPoiCode: poiCode, diff --git a/platformapi/mtwmapi/order_test.go b/platformapi/mtwmapi/order_test.go index 444d3130..207afabb 100644 --- a/platformapi/mtwmapi/order_test.go +++ b/platformapi/mtwmapi/order_test.go @@ -121,7 +121,15 @@ func TestGetOrderActDetaill(t *testing.T) { } func TestGetOrderIdByDaySeq(t *testing.T) { - result, err := api.GetOrderIdByDaySeq("7111597", utils.Time2Date(time.Now()), 1, 100) + result, err := api.GetOrderIdByDaySeq("7111597", utils.Time2Date(time.Now()), 1, MaxGap4GetOrderIdByDaySeq) + t.Log(utils.Format4Output(result, false)) + if err != nil { + t.Fatal(err) + } +} + +func TestGetOrderIdByDaySeqSingle(t *testing.T) { + result, err := api.GetOrderIdByDaySeqSingle("7111597", utils.Time2Date(time.Now()), 1) t.Log(utils.Format4Output(result, false)) if err != nil { t.Fatal(err)