- 新增CamelOilToken和CamelOilCardBinding数据库表,实现Token及卡密绑定记录管理 - 在service层增加Token的创建、查询、更新、删除及分页功能 - 实现卡密与Token绑定的业务逻辑,支持基于Token的卡密管理 - 在API层新增Token和卡密绑定相关接口:创建Token、获取Token详情、删除Token、列出Token及根据Token查询绑定卡密 - camel_oil_api新增绑卡接口,支持绑卡状态分类及错误处理 - 在定时任务中增加卡密绑定任务,实现自动处理已支付订单的卡密绑定 - 优化订单提交及支付流程,包含日志调整和请求参数随机扰动 - 统一调整camel_oil模块多控制器实现,完成账号状态查询及订单相关接口实现 - 注册更多camel_oil定时任务,包括订单支付检查、账号日重置和待回调订单处理任务
107 lines
4.3 KiB
Go
107 lines
4.3 KiB
Go
package v1
|
|
|
|
import (
|
|
"kami/api/commonApi"
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|
"github.com/shopspring/decimal"
|
|
)
|
|
|
|
// ====================================================================================
|
|
// Token 管理 API 请求/响应结构
|
|
// ====================================================================================
|
|
|
|
// CreateTokenReq 创建 Token 请求
|
|
type CreateTokenReq struct {
|
|
g.Meta `path:"/token/create" tags:"JD V2 Token Management" method:"post" summary:"创建 Token"`
|
|
TokenName string `json:"tokenName" v:"required" description:"Token名称"`
|
|
TokenValue string `json:"tokenValue" v:"required" description:"Token值"`
|
|
Phone string `json:"phone" description:"绑定的手机号"`
|
|
Remark string `json:"remark" description:"备注"`
|
|
}
|
|
|
|
// CreateTokenRes 创建 Token 响应
|
|
type CreateTokenRes struct {
|
|
TokenId int64 `json:"tokenId" description:"Token ID"`
|
|
}
|
|
|
|
// GetTokenReq 获取 Token 信息请求
|
|
type GetTokenReq struct {
|
|
g.Meta `path:"/token/get" tags:"JD V2 Token Management" method:"get" summary:"获取 Token 信息"`
|
|
TokenId int64 `json:"tokenId" v:"required" description:"Token ID"`
|
|
}
|
|
|
|
// TokenInfo Token 信息
|
|
type TokenInfo struct {
|
|
Id int64 `json:"id" description:"Token ID"`
|
|
TokenName string `json:"tokenName" description:"Token名称"`
|
|
TokenValue string `json:"tokenValue" description:"Token值"`
|
|
Phone string `json:"phone" description:"绑定的手机号"`
|
|
Status int `json:"status" description:"状态"`
|
|
BindCount int `json:"bindCount" description:"已绑定卡密数量"`
|
|
TotalBindAmount decimal.Decimal `json:"totalBindAmount" description:"累计绑定金额"`
|
|
LastBindAt *gtime.Time `json:"lastBindAt" description:"最后绑定时间"`
|
|
LastUsedAt *gtime.Time `json:"lastUsedAt" description:"最后使用时间"`
|
|
Remark string `json:"remark" description:"备注"`
|
|
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
|
|
UpdatedAt *gtime.Time `json:"updatedAt" description:"更新时间"`
|
|
}
|
|
|
|
// GetTokenRes 获取 Token 信息响应
|
|
type GetTokenRes struct {
|
|
Token TokenInfo `json:"token" description:"Token信息"`
|
|
}
|
|
|
|
// ListTokensRes 列出 Token 响应
|
|
type ListTokensRes struct {
|
|
commonApi.CommonPageRes[TokenInfo]
|
|
}
|
|
|
|
// ListTokensReq 列出 Token 请求
|
|
type ListTokensReq struct {
|
|
g.Meta `path:"/token/list" tags:"JD V2 Token Management" method:"get" summary:"列出 Token"`
|
|
commonApi.CommonPageReq
|
|
TokenName string `json:"tokenName" description:"Token名称"`
|
|
Status int `json:"status" description:"状态"`
|
|
}
|
|
|
|
// DeleteTokenReq 删除 Token 请求
|
|
type DeleteTokenReq struct {
|
|
g.Meta `path:"/token/delete" tags:"JD V2 Token Management" method:"post" summary:"删除 Token"`
|
|
TokenId int64 `json:"tokenId" v:"required" description:"Token ID"`
|
|
}
|
|
|
|
// DeleteTokenRes 删除 Token 响应
|
|
type DeleteTokenRes struct {
|
|
Message string `json:"message" description:"信息"`
|
|
}
|
|
|
|
// ====================================================================================
|
|
// 卡密绑定 API 请求/响应结构
|
|
// ====================================================================================
|
|
|
|
// CardBindingInfo 卡密绑定信息
|
|
type CardBindingInfo struct {
|
|
Id int64 `json:"id" description:"绑定记录ID"`
|
|
TokenId int64 `json:"tokenId" description:"Token ID"`
|
|
TokenName string `json:"tokenName" description:"Token名称"`
|
|
OrderId int64 `json:"orderId" description:"订单ID"`
|
|
CardNumber string `json:"cardNumber" description:"卡号"`
|
|
CardPassword string `json:"cardPassword" description:"卡密"`
|
|
Amount decimal.Decimal `json:"amount" description:"绑定金额"`
|
|
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
|
|
}
|
|
|
|
// ListCardBindingsByTokenReq 根据 tokenId 查询绑卡记录请求
|
|
type ListCardBindingsByTokenReq struct {
|
|
g.Meta `path:"/card-binding/list-by-token" tags:"JD V2 Token Management" method:"get" summary:"查询 Token 绑卡记录"`
|
|
commonApi.CommonPageReq
|
|
TokenId int64 `json:"tokenId" v:"required" description:"Token ID"`
|
|
}
|
|
|
|
// ListCardBindingsByTokenRes 根据 tokenId 查询绑卡记录响应
|
|
type ListCardBindingsByTokenRes struct {
|
|
commonApi.CommonPageRes[CardBindingInfo]
|
|
}
|