Files
junhong_cmp_fiber/migrations/000118_create_tb_payment.up.sql
huang b972a776d9
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m32s
重构充值订单模块:用 tb_recharge_order + tb_payment 替换 tb_asset_recharge_record
- 新增 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
2026-04-15 11:00:32 +08:00

24 lines
1.2 KiB
SQL

-- 创建支付记录表 tb_payment
-- 统一承接所有支付凭证(微信/支付宝/钱包)
CREATE TABLE tb_payment (
id BIGSERIAL PRIMARY KEY,
payment_no VARCHAR(40) NOT NULL UNIQUE, -- 保持 CRCH/PAY 前缀兼容
order_id BIGINT NOT NULL,
order_type VARCHAR(30) NOT NULL, -- 'package_order' | 'recharge_order'
payment_method VARCHAR(20) NOT NULL, -- wallet | wechat | alipay | offline
amount BIGINT NOT NULL, -- 分
status SMALLINT NOT NULL DEFAULT 1, -- 1待支付 2已支付 3已失败 4已退款
third_party_trade_no VARCHAR(100),
payment_config_id BIGINT,
payment_voucher_key VARCHAR(500),
paid_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
deleted_at TIMESTAMPTZ
);
-- 索引
CREATE INDEX idx_payment_order ON tb_payment(order_id, order_type);
CREATE INDEX idx_payment_no ON tb_payment(payment_no) WHERE deleted_at IS NULL;
CREATE INDEX idx_payment_status ON tb_payment(status) WHERE deleted_at IS NULL;