|
|
package meituan
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"gopkg.in/dtapps/go-library.v3/utils/gotime"
|
|
|
)
|
|
|
|
|
|
// OrderList 请求参数
|
|
|
type OrderList struct {
|
|
|
Type string `json:"type"` // 查询订单类型 0 团购订单 2 酒店订单 4 外卖订单 5 话费&团好货订单 6 闪购订单 8 优选订单
|
|
|
StartTime string `json:"startTime"` // 查询起始时间10位时间戳,以下单时间为准
|
|
|
EndTime string `json:"endTime"` // 查询截止时间10位时间戳,以下单时间为准
|
|
|
Page string `json:"page"` // 分页参数,起始值从1开始
|
|
|
Limit string `json:"limit"` // 每页显示数据条数,最大值为100
|
|
|
QueryTimeType string `json:"queryTimeType,omitempty"` // 查询时间类型,枚举值 1 按订单支付时间查询 2 按订单发生修改时间查询
|
|
|
}
|
|
|
|
|
|
// OrderListResult 返回参数
|
|
|
type OrderListResult struct {
|
|
|
DataList []struct {
|
|
|
Orderid string `json:"orderid"` // 订单id
|
|
|
Paytime string `json:"paytime"` // 订单支付时间,10位时间戳
|
|
|
Payprice string `json:"payprice"` // 订单用户实际支付金额
|
|
|
Profit string `json:"profit"` // 订单预估返佣金额
|
|
|
CpaProfit string `json:"cpaProfit"` // 订单预估cpa总收益(优选、话费券)
|
|
|
Sid string `json:"sid"` // 订单对应的推广位sid
|
|
|
Appkey string `json:"appkey,omitempty"` // 订单对应的appkey,外卖、话费、闪购、优选订单会返回该字段
|
|
|
Smstitle string `json:"smstitle"` // 订单标题
|
|
|
Refundprice string `json:"refundprice,omitempty"` // 订单实际退款金额,外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
|
|
|
Refundtime string `json:"refundtime,omitempty"` // 订单退款时间,10位时间戳,外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
|
|
|
Refundprofit string `json:"refundprofit,omitempty"` // 订单需要扣除的返佣金额,外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
|
|
|
CpaRefundProfit string `json:"cpaRefundProfit"` // 订单需要扣除的cpa返佣金额(优选、话费券)
|
|
|
Status string `json:"status,omitempty"` // 订单状态,外卖、话费、闪购、优选、酒店订单会返回该字段 1 已付款 8 已完成 9 已退款或风控
|
|
|
TradeTypeList []interface{} `json:"tradeTypeList,omitempty"` // 订单的奖励类型 话费订单类型返回该字段 3 首购奖励 5 留存奖励 优选订单类型返回该字段 2 cps 3 首购奖励
|
|
|
TradeTypeBusinessTypeMapStr string `json:"tradeTypeBusinessTypeMapStr"` // 奖励类型对应平台类型的映射 格式:{3:[3,5]} value的枚举值:1 外卖 2 分销酒店 3 平台 4 券类型酒店 5 团好货 6 优选
|
|
|
RiskOrder string `json:"riskOrder,omitempty"` // 0表示正常退款,1表示风控退款,订单状态为退款时有效
|
|
|
} `json:"dataList"` // 订单列表
|
|
|
Total int `json:"total"` // 查询条件命中的总数据条数,用于计算分页参数
|
|
|
}
|
|
|
|
|
|
// OrderList 订单列表查询(新) https://union.meituan.com/v2/apiDetail?id=1
|
|
|
func (app *App) OrderList(param OrderList) (result OrderListResult, err error) {
|
|
|
// 处理默认数据
|
|
|
if param.Page == "" {
|
|
|
param.Page = "1"
|
|
|
}
|
|
|
if param.Limit == "" {
|
|
|
param.Limit = "100"
|
|
|
}
|
|
|
// 接口参数
|
|
|
params := map[string]interface{}{}
|
|
|
b, _ := json.Marshal(¶m)
|
|
|
var m map[string]interface{}
|
|
|
_ = json.Unmarshal(b, &m)
|
|
|
for k, v := range m {
|
|
|
params[k] = v
|
|
|
}
|
|
|
// 请求时刻10位时间戳(秒级),有效期60s
|
|
|
params["ts"] = gotime.Current().Timestamp()
|
|
|
params["key"] = app.AppKey
|
|
|
params["sign"] = app.getSign(app.Secret, params)
|
|
|
body, err := app.request("https://runion.meituan.com/api/orderList", params, "GET")
|
|
|
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if err = json.Unmarshal(body, &result); err != nil {
|
|
|
return
|
|
|
}
|
|
|
return
|
|
|
}
|