重构充值订单模块:用 tb_recharge_order + tb_payment 替换 tb_asset_recharge_record
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m32s

- 新增 RechargeOrder 和 Payment 模型及对应 Store
- 新增 ClientRechargeOrderHandler 提供充值订单列表/详情接口
- 修改 client_wallet.go 使用新表读写充值数据
- 修改 callback/payment.go 将 CRCH 订单路由到 rechargeOrderService
- 修改 client_order/service.go 的强充流程使用新表
- 修改 auto_purchase.go 从 tb_recharge_order 读取 linked_package_ids
- 修改 order/service.go 的 WalletPay 使用 tb_payment 记录
- 修改 wechat_config_store.go 从 tb_recharge_order 统计待支付充值数
- 移除 AssetRechargeStore 和 AssetRechargeRecord 的注册引用
- 修复文档生成器缺失 ClientRechargeOrder handler
- 状态枚举改为 0-based: Pending=0, Paid=1, Closed=2, Refunded=3
This commit is contained in:
2026-04-15 11:00:32 +08:00
parent d26010b29d
commit b972a776d9
33 changed files with 1589 additions and 1017 deletions

View File

@@ -19,6 +19,7 @@ type ClientCreateOrderResponse struct {
Recharge *ClientRechargeInfo `json:"recharge,omitempty" description:"充值订单信息"`
PayConfig *ClientPayConfig `json:"pay_config,omitempty" description:"微信支付配置(仅强充场景返回)"`
LinkedPackageInfo *LinkedPackageInfo `json:"linked_package_info,omitempty" description:"关联套餐信息"`
Idempotent bool `json:"idempotent,omitempty" description:"幂等标志true 表示返回的是已存在的待支付充值订单)"`
}
// ClientOrderInfo D1 套餐订单信息

View File

@@ -0,0 +1,46 @@
package dto
// ClientRechargeOrderListRequest C6 充值订单列表请求
type ClientRechargeOrderListRequest struct {
Page int `json:"page" query:"page" description:"页码"`
PageSize int `json:"page_size" query:"page_size" description:"每页数量"`
Status int `json:"status" query:"status" description:"状态过滤 (0:待支付, 1:已支付, 2:已关闭, 3:已退款)"`
}
// ClientRechargeOrderListItem C6 充值订单列表项
type ClientRechargeOrderListItem struct {
RechargeOrderID uint `json:"recharge_order_id" description:"充值订单ID"`
RechargeOrderNo string `json:"recharge_order_no" description:"充值订单号"`
Amount int64 `json:"amount" description:"充值金额(分)"`
Status int `json:"status" description:"状态 (0:待支付, 1:已支付, 2:已关闭, 3:已退款)"`
StatusName string `json:"status_name" description:"状态名称(中文)"`
AutoPurchaseStatus string `json:"auto_purchase_status" description:"自动购包状态 (pending/success/failed)"`
CreatedAt string `json:"created_at" description:"创建时间"`
}
// ClientRechargeOrderDetail C7 充值订单详情
type ClientRechargeOrderDetail struct {
RechargeOrderID uint `json:"recharge_order_id" description:"充值订单ID"`
RechargeOrderNo string `json:"recharge_order_no" description:"充值订单号"`
Amount int64 `json:"amount" description:"充值金额(分)"`
Status int `json:"status" description:"状态 (0:待支付, 1:已支付, 2:已关闭, 3:已退款)"`
StatusName string `json:"status_name" description:"状态名称(中文)"`
AutoPurchaseStatus string `json:"auto_purchase_status" description:"自动购包状态"`
LinkedPackageIDs interface{} `json:"linked_package_ids" description:"关联套餐ID列表"`
CreatedAt string `json:"created_at" description:"创建时间"`
PaidAt string `json:"paid_at,omitempty" description:"支付时间"`
Payments []ClientRechargeOrderPaymentDetail `json:"payments,omitempty" description:"支付记录列表"`
}
// ClientRechargeOrderPaymentDetail 充值订单支付记录详情
type ClientRechargeOrderPaymentDetail struct {
PaymentID uint `json:"payment_id" description:"支付记录ID"`
PaymentNo string `json:"payment_no" description:"支付单号"`
PaymentMethod string `json:"payment_method" description:"支付方式 (wechat/alipay/wallet)"`
Amount int64 `json:"amount" description:"支付金额(分)"`
Status int `json:"status" description:"状态 (0:待支付, 1:已支付, 2:已失败, 3:已退款)"`
StatusName string `json:"status_name" description:"状态名称(中文)"`
ThirdPartyTradeNo string `json:"third_party_trade_no,omitempty" description:"第三方交易号"`
PaidAt string `json:"paid_at,omitempty" description:"支付时间"`
CreatedAt string `json:"created_at" description:"创建时间"`
}