Files
kami_backend/api/camel_oil/v1/order.go
danial 15e2426e85 feat(camel_oil): 新增骆驼加油账号管理模块
- 实现账号增删改查接口和逻辑
- 支持账号状态更新及状态历史记录功能
- 提供账号列表、历史和统计信息查询API
- 实现账号轮询机制,支持按使用时间轮询获取账号
- 增加账号登录流程及批量登录功能,集成接码平台和平台API
- 管理账号订单容量,支持容量检查与账号登录触发
- 提供账号池状态统计接口
- 账号历史记录查询支持多种变更类型文本展示
- 密码等敏感信息采用脱敏展示
- 完善日志记录和错误处理机制,保证业务稳定运行
2025-11-21 00:49:50 +08:00

164 lines
9.4 KiB
Go

package v1
import (
"kami/api/commonApi"
"kami/internal/consts"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// SubmitOrderReq 提交订单
type SubmitOrderReq struct {
g.Meta `path:"/jd-v2/order/submit" tags:"JD V2 Order" method:"post" summary:"提交订单"`
Amount float64 `json:"amount" v:"required|min:0.01#订单金额不能为空|订单金额必须大于0" description:"订单金额"`
MerchantOrderId string `json:"merchantOrderId" v:"required#商户订单号不能为空" description:"商户订单号"`
Attach string `json:"attach" description:"附加信息"`
}
type SubmitOrderRes struct {
OrderNo string `json:"orderNo" description:"系统订单号"`
AlipayUrl string `json:"alipayUrl" description:"支付宝支付链接"`
Amount float64 `json:"amount" description:"订单金额"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
}
// ListOrderReq 订单列表查询
type ListOrderReq struct {
g.Meta `path:"/jd-v2/order/list" tags:"JD V2 Order" method:"get" summary:"订单列表"`
commonApi.CommonPageReq
MerchantOrderId string `json:"merchantOrderId" description:"商户订单号"`
OrderNo string `json:"orderNo" description:"系统订单号"`
AccountId int64 `json:"accountId" description:"账号ID"`
Status consts.CamelOilOrderStatus `json:"status" description:"订单状态"`
PayStatus consts.CamelOilPayStatus `json:"payStatus" description:"支付状态"`
DateRange []*gtime.Time `json:"dateRange" description:"时间范围"`
}
type OrderListItem struct {
OrderNo string `json:"orderNo" description:"系统订单号"`
MerchantOrderId string `json:"merchantOrderId" description:"商户订单号"`
AccountId int64 `json:"accountId" description:"账号ID"`
AccountName string `json:"accountName" description:"账号名称"`
Amount float64 `json:"amount" description:"订单金额"`
AlipayUrl string `json:"alipayUrl" description:"支付宝支付链接"`
Status consts.CamelOilOrderStatus `json:"status" description:"订单状态"`
StatusText string `json:"statusText" description:"订单状态文本"`
PayStatus consts.CamelOilPayStatus `json:"payStatus" description:"支付状态"`
PayStatusText string `json:"payStatusText" description:"支付状态文本"`
NotifyStatus consts.CamelOilNotifyStatus `json:"notifyStatus" description:"回调状态"`
NotifyStatusText string `json:"notifyStatusText" description:"回调状态文本"`
NotifyCount int `json:"notifyCount" description:"回调次数"`
PaidAt *gtime.Time `json:"paidAt" description:"支付完成时间"`
LastCheckAt *gtime.Time `json:"lastCheckAt" description:"最后检测支付时间"`
FailureReason string `json:"failureReason" description:"失败原因"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" description:"更新时间"`
}
type ListOrderRes struct {
commonApi.CommonPageRes[OrderListItem]
}
// OrderDetailReq 订单详情查询
type OrderDetailReq struct {
g.Meta `path:"/jd-v2/order/detail" tags:"JD V2 Order" method:"get" summary:"订单详情"`
OrderNo string `json:"orderNo" v:"required#订单号不能为空" description:"订单号"`
}
type OrderDetailRes struct {
OrderInfo struct {
OrderNo string `json:"orderNo" description:"系统订单号"`
MerchantOrderId string `json:"merchantOrderId" description:"商户订单号"`
AccountId int64 `json:"accountId" description:"账号ID"`
AccountName string `json:"accountName" description:"账号名称"`
Amount float64 `json:"amount" description:"订单金额"`
AlipayUrl string `json:"alipayUrl" description:"支付宝支付链接"`
Status consts.CamelOilOrderStatus `json:"status" description:"订单状态"`
StatusText string `json:"statusText" description:"订单状态文本"`
PayStatus consts.CamelOilPayStatus `json:"payStatus" description:"支付状态"`
PayStatusText string `json:"payStatusText" description:"支付状态文本"`
NotifyStatus consts.CamelOilNotifyStatus `json:"notifyStatus" description:"回调状态"`
NotifyStatusText string `json:"notifyStatusText" description:"回调状态文本"`
NotifyCount int `json:"notifyCount" description:"回调次数"`
PaidAt *gtime.Time `json:"paidAt" description:"支付完成时间"`
LastCheckAt *gtime.Time `json:"lastCheckAt" description:"最后检测支付时间"`
Attach string `json:"attach" description:"附加信息"`
FailureReason string `json:"failureReason" description:"失败原因"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" description:"更新时间"`
} `json:"orderInfo" description:"订单信息"`
AccountInfo struct {
AccountId int64 `json:"accountId" description:"账号ID"`
AccountName string `json:"accountName" description:"账号名称"`
Phone string `json:"phone" description:"手机号(脱敦)"`
Status consts.CamelOilAccountStatus `json:"status" description:"状态"`
StatusText string `json:"statusText" description:"状态文本"`
LastUsedAt *gtime.Time `json:"lastUsedAt" description:"最后使用时间"`
} `json:"accountInfo" description:"账号信息"`
}
// OrderHistoryReq 订单历史记录查询
type OrderHistoryReq struct {
g.Meta `path:"/jd-v2/order/history" tags:"JD V2 Order" method:"get" summary:"订单历史记录"`
commonApi.CommonPageReq
OrderNo string `json:"orderNo" v:"required#订单号不能为空" description:"订单号"`
}
type OrderHistoryItem struct {
HistoryUuid string `json:"historyUuid" description:"历史记录UUID"`
OrderNo string `json:"orderNo" description:"订单号"`
ChangeType consts.CamelOilOrderChangeType `json:"changeType" description:"变更类型"`
ChangeText string `json:"changeText" description:"变更类型文本"`
AccountId int64 `json:"accountId" description:"关联账号ID"`
AccountName string `json:"accountName" description:"账号名称"`
RawData string `json:"rawData" description:"原始响应数据"`
Remark string `json:"remark" description:"备注"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
}
type OrderHistoryRes struct {
commonApi.CommonPageRes[OrderHistoryItem]
}
// AccountOrderListReq 查询账号绑定的历史订单
type AccountOrderListReq struct {
g.Meta `path:"/jd-v2/order/accountOrders" tags:"JD V2 Order" method:"get" summary:"账号历史订单"`
commonApi.CommonPageReq
AccountId int64 `json:"accountId" v:"required#账号ID不能为空" description:"账号ID"`
Status consts.CamelOilOrderStatus `json:"status" description:"订单状态筛选"`
PayStatus consts.CamelOilPayStatus `json:"payStatus" description:"支付状态筛选"`
DateRange []*gtime.Time `json:"dateRange" description:"时间范围"`
}
type AccountOrderListRes struct {
AccountInfo struct {
AccountId int64 `json:"accountId" description:"账号ID"`
AccountName string `json:"accountName" description:"账号名称"`
Phone string `json:"phone" description:"手机号(脱敦)"`
Status consts.CamelOilAccountStatus `json:"status" description:"状态"`
StatusText string `json:"statusText" description:"状态文本"`
} `json:"accountInfo" description:"账号基本信息"`
OrderStats struct {
TotalOrders int `json:"totalOrders" description:"总订单数"`
PaidOrders int `json:"paidOrders" description:"已支付订单数"`
PendingOrders int `json:"pendingOrders" description:"待支付订单数"`
TimeoutOrders int `json:"timeoutOrders" description:"超时订单数"`
} `json:"orderStats" description:"订单统计"`
// OrderList commonApi.CommonPageRes[OrderListItem] `json:"orderList" description:"订单分页列表"`
}
// OrderCallbackReq 手动触发订单回调(管理接口)
type OrderCallbackReq struct {
g.Meta `path:"/jd-v2/order/callback" tags:"JD V2 Order" method:"post" summary:"手动回调"`
OrderNo string `json:"orderNo" v:"required#订单号不能为空" description:"订单号"`
}
type OrderCallbackRes struct {
Success bool `json:"success" description:"回调是否成功"`
Message string `json:"message" description:"回调结果消息"`
}