Files
baseapi/platformapi/mtunionapi/order.go
suyl e3741ad0a4 aa
2021-05-07 11:03:01 +08:00

127 lines
3.6 KiB
Go

package mtunionapi
import (
"git.rosy.net.cn/baseapi/utils"
"time"
)
const (
MtUnionOrderTypeTG = 0 //团购订单
MtUnionOrderTypeJD = 2 //酒店订单
MtUnionOrderTypeWM = 4 //外卖订单
MtUnionOrderTypeHF = 5 //话费订单
MtUnionOrderTypeSG = 6 //闪购订单
MtUnionOrderStatusPay = 1 //已付款
MtUnionOrderStatusFinished = 8 //已完成
MtUnionOrderStatusCanceled = 9 //已退款或风控
defaultPageSize = 50
)
type OrderListResult struct {
Total int `json:"total"`
DataList []struct {
Smstitle string `json:"smstitle"`
Refundprice string `json:"refundprice"`
Refundtime string `json:"refundtime"`
Orderid string `json:"orderid"`
Refundprofit string `json:"refundprofit"`
Paytime string `json:"paytime"`
Appkey string `json:"appkey"`
Payprice string `json:"payprice"`
Profit string `json:"profit"`
Sid string `json:"sid"`
Status int `json:"status"`
} `json:"dataList"`
}
func (a *API) OrderList(orderType int, startTime, endTime int64, page int) (orderListResult *OrderListResult, err error) {
result, err := a.AccessAPI2("api/orderList", false, map[string]interface{}{
"ts": time.Now().Unix(),
"type": orderType,
"startTime": startTime,
"endTime": endTime,
"page": page,
"limit": defaultPageSize,
})
if err == nil {
utils.Map2StructByJson(result, &orderListResult, false)
}
return orderListResult, err
}
type CouponListResult struct {
Total int `json:"total"`
DataList []struct {
AppKey string `json:"appKey"`
Sid string `json:"sid"`
CouponTime string `json:"couponTime"`
Money string `json:"money"`
MinUseMoney string `json:"minUseMoney"`
CouponName string `json:"couponName"`
CouponType string `json:"couponType"`
CouponCode string `json:"couponCode"`
BeginTime int `json:"beginTime"`
EndTime int `json:"endTime"`
} `json:"dataList"`
}
func (a *API) CouponList(orderType int, startTime, endTime int64, page int, sid string) (couponListResult *CouponListResult, err error) {
result, err := a.AccessAPI2("api/couponList", false, map[string]interface{}{
"ts": time.Now().Unix(),
"type": orderType,
"startTime": startTime,
"endTime": endTime,
"page": page,
"limit": defaultPageSize,
"sid": sid,
})
if err == nil {
utils.Map2StructByJson(result, &couponListResult, false)
}
return couponListResult, err
}
type RtnotifyResult struct {
Coupon []struct {
Sequence string `json:"sequence"`
Orderid string `json:"orderid"`
Price string `json:"price"`
Profit string `json:"profit"`
Usetime string `json:"usetime"`
} `json:"coupon"`
Order struct {
Smstitle string `json:"smstitle"`
UID string `json:"uid"`
Total string `json:"total"`
Quantity string `json:"quantity"`
Orderid string `json:"orderid"`
Dealid string `json:"dealid"`
Modtime string `json:"modtime"`
Direct string `json:"direct"`
Paytime string `json:"paytime"`
Sid string `json:"sid"`
Status int `json:"status"`
} `json:"order"`
Refund []struct {
Quantity string `json:"quantity"`
Refundtime string `json:"refundtime"`
Money string `json:"money"`
Orderid string `json:"orderid"`
Profit string `json:"profit"`
} `json:"refund"`
}
func (a *API) Rtnotify(oid, orderType string) (rtnotifyResult *RtnotifyResult, err error) {
result, err := a.AccessAPI2("api/rtnotify", false, map[string]interface{}{
"oid": oid,
"type": orderType,
"full": 1,
})
if err == nil {
utils.Map2StructByJson(result, &rtnotifyResult, false)
}
return rtnotifyResult, err
}