+ 添加mtwmapi.OrderGetRiderInfoPhoneNumber

This commit is contained in:
gazebo
2019-09-04 15:11:38 +08:00
parent 975305a32d
commit 2e8b753823
2 changed files with 49 additions and 7 deletions

View File

@@ -308,6 +308,23 @@ type GetOrderIdByDaySeqResult struct {
OrderIDs []int64 `json:"order_ids"`
}
type UserRealPhoneNumberInfo struct {
OrderID int64 `json:"order_id"`
AppPoiCode string `json:"app_poi_code"`
WmOrderIDView string `json:"wm_order_id_view"`
DaySeq int `json:"day_seq"`
RealPhoneNumber string `json:"real_phone_number"` // 订单收货人的真实手机号码
RealOrderPhoneNumber string `json:"real_order_phone_number"` // 鲜花绿植类订单预订人的真实手机号码,如无则返回空。
}
type RiderRealPhoneNumberInfo struct {
OrderID int64 `json:"order_id"`
AppPoiCode string `json:"app_poi_code"`
WmOrderIDView string `json:"wm_order_id_view"`
RiderName string `json:"rider_name"`
RiderRealPhoneNumber string `json:"rider_real_phone_number"` // 骑手真实手机号
}
func (a *API) OrderReceived(orderID int64) (err error) {
_, err = a.AccessAPI("order/poi_received", true, map[string]interface{}{
KeyOrderID: orderID,
@@ -462,8 +479,10 @@ func (a *API) OrderLogisticsStatus(orderID int64) (status map[string]interface{}
return nil, err
}
// 拉取用户真实手机号(必接)
// https://developer.waimai.meituan.com/home/docDetail/222
// limit最大为MaxBatchPullPhoneNumberLimit = 1000
func (a *API) OrderBatchPullPhoneNumber(poiCode string, offset, limit int) (realNumberList []map[string]interface{}, err error) {
func (a *API) OrderBatchPullPhoneNumber(poiCode string, offset, limit int) (realNumberList []*UserRealPhoneNumberInfo, err error) {
params := map[string]interface{}{
"offset": offset,
"limit": limit,
@@ -473,9 +492,27 @@ func (a *API) OrderBatchPullPhoneNumber(poiCode string, offset, limit int) (real
}
result, err := a.AccessAPI("order/batchPullPhoneNumber", false, params)
if err == nil {
return utils.Slice2MapSlice(result.([]interface{})), nil
err = utils.Map2StructByJson(result, &realNumberList, false)
}
return nil, err
return realNumberList, err
}
// 拉取骑手真实手机号必接美团2019-09-17才开始灰度上线
// https://developer.waimai.meituan.com/home/docDetail/388
// limit最大为MaxBatchPullPhoneNumberLimit = 1000
func (a *API) OrderGetRiderInfoPhoneNumber(poiCode string, offset, limit int) (realNumberList []*RiderRealPhoneNumberInfo, err error) {
params := map[string]interface{}{
"offset": offset,
"limit": limit,
}
if poiCode != "" {
params[KeyAppPoiCode] = poiCode
}
result, err := a.AccessAPI("order/getRiderInfoPhoneNumber", false, params)
if err == nil {
err = utils.Map2StructByJson(result, &realNumberList, false)
}
return realNumberList, err
}
// 专快混配送转为商家自配送

View File

@@ -80,14 +80,19 @@ func TestOrderLogisticsStatus(t *testing.T) {
}
func TestOrderBatchPullPhoneNumber(t *testing.T) {
result, err := api.OrderBatchPullPhoneNumber(testPoiCode, 0, 10)
result, err := api.OrderBatchPullPhoneNumber(testPoiCode, 0, MaxBatchPullPhoneNumberLimit)
t.Log(utils.Format4Output(result, false))
if err != nil {
t.Fatal(err)
}
if len(result) == 0 {
t.Fatal("result should have value")
}
func TestOrderGetRiderInfoPhoneNumber(t *testing.T) {
result, err := api.OrderGetRiderInfoPhoneNumber(testPoiCode, 0, MaxBatchPullPhoneNumberLimit)
t.Log(utils.Format4Output(result, false))
if err != nil {
t.Fatal(err)
}
// t.Log(utils.Format4Output(result, false))
}
func TestGetOrderRefundDetail(t *testing.T) {