Files
junhong_cmp_fiber/openspec/changes/fix-package-usage-paid-amount-cost-snapshot/proposal.md
break cbadf77517
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m28s
修复价格不一致的问题
2026-08-13 17:43:14 +08:00

25 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Why
平台/管理员查看资产套餐列表时,`paid_amount`(成本价)字段取值错误。该字段在创建套餐使用记录时从订单 `actual_paid_amount`实付金额复制个人客户C 端)下单时实付金额等于零售价而非店铺成本价 `seller_cost_price`,导致平台视角「成本价」与「零售价」显示成同一个值(如成本 109 元的套餐被显示为成本价 159 元)。
## What Changes
- 将 4 个 `PackageUsage` 创建点的 `PaidAmount` 快照来源从 `order.ActualPaidAmount` 改为 `order.SellerCostPrice`(销售成本价)。
- 同步更新 `model.PackageUsage.PaidAmount` 字段注释,反映成本价语义(来源 `seller_cost_price`)。
- 不做历史数据回填:已写入错误的存量 `paid_amount` 保持原样。
## Capabilities
### New Capabilities
<!-- 无 -->
### Modified Capabilities
- `package-lifecycle`: 套餐使用记录 `paid_amount`(成本价)快照的取值来源从订单实付金额修正为订单销售成本价。
## Impact
- `internal/service/order/service.go``activateMainPackage``activateAddonPackage` 两处 `PaidAmount` 赋值。
- `internal/task/auto_purchase.go`:自动购包主套餐、加油包两处 `PaidAmount` 赋值。
- `internal/model/package.go``PackageUsage.PaidAmount` 字段注释。
- API 形状不变(仍返回 `paid_amount` / `retail_amount`),仅 `paid_amount` 取值语义变化;不新增迁移、不新增外部依赖。