feat: 新增套餐使用记录实付金额快照字段 paid_amount
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m19s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m19s
- 新增迁移 000129:tb_package_usage 添加 paid_amount BIGINT 字段,存量数据通过 JOIN tb_order 回填 - PackageUsage Model 新增 PaidAmount *int64 字段 - 4 个写入点(order service 主套餐/加油包、auto_purchase 主套餐/加油包)赋值 order.ActualPaidAmount - AssetPackageResponse DTO 新增 paid_amount 字段 - GetCurrentPackage / GetPackages 填充 paid_amount,接口直接返回购买价格无需 JOIN 订单表
This commit is contained in:
@@ -0,0 +1 @@
|
||||
ALTER TABLE tb_package_usage DROP COLUMN IF EXISTS paid_amount;
|
||||
15
migrations/000129_add_paid_amount_to_package_usage.up.sql
Normal file
15
migrations/000129_add_paid_amount_to_package_usage.up.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
-- 为 tb_package_usage 新增购买实付金额快照字段
|
||||
-- paid_amount: 购买时从订单复制的实付金额(分),nullable
|
||||
-- 线下支付或企业无订单分配时为 null
|
||||
ALTER TABLE tb_package_usage ADD COLUMN IF NOT EXISTS paid_amount BIGINT;
|
||||
|
||||
COMMENT ON COLUMN tb_package_usage.paid_amount IS '购买实付金额快照(分,从订单复制,无订单或线下支付时为null)';
|
||||
|
||||
-- 存量数据回填:通过 order_id 关联 tb_order 回填 actual_paid_amount
|
||||
-- order_id = 0 的记录(企业无订单分配)保持 null,语义正确
|
||||
UPDATE tb_package_usage pu
|
||||
SET paid_amount = o.actual_paid_amount
|
||||
FROM tb_order o
|
||||
WHERE pu.order_id = o.id
|
||||
AND pu.order_id != 0
|
||||
AND pu.paid_amount IS NULL;
|
||||
Reference in New Issue
Block a user