fix: 佣金按委托级合并计费(分笔成交只收一次佣金)

- calcOrderFees 委托层合并计费:同一委托分笔成交按总金额算一次佣金(最低5元一次)
- mapTrade 保留原始成交字段,不再逐笔算费
- 前端聚合调用 calcOrderFees,展开明细只展示成交本身
- 验证:200股拆两笔佣金5元(非10元);两笔独立委托各5元
This commit is contained in:
2026-09-01 13:25:37 +08:00
parent bb3f8bd28d
commit 8caeb769ed
3 changed files with 46 additions and 40 deletions
+2 -1
View File
@@ -154,7 +154,7 @@
| 佣金 | 成交额 × (m_dCommission ÷ 10000)**不足 5 元按 5 元** | 账号没免五,费率=万分之 m_dCommission(如 0.852 = 万0.852 |
| 印花税 | 成交额 × 万分之5(0.05% | **仅卖出**收取(2023-08-28 起标准,单边) |
| 过户费 | 成交额 × 万分之0.1(0.01‰) | **双向**收取,无最低限额(2022-04-29 起标准,中登收取,老师确认) |
| 总费用 | 佣金 + 印花税 + 过户费 | 逐笔计算后聚合展示 |
| 总费用 | 佣金 + 印花税 + 过户费 | **委托级合并计费**:同一委托分笔成交按总金额算一次佣金;多笔独立委托各自算(2026-09-01 老师修正) |
### 2.2 Sample Data(真实数据样本,2026-09-01 实调)
@@ -530,6 +530,7 @@ src/
- 2026-09-01 修正一:快捷按钮由「今日/本周/上周」改为「**今日/本周/本月**」(老师反馈,去掉上周、新增本月)。
- 2026-09-01 修正二(老师纠正):快捷范围为**完整时间段**(本月=9/1~9/30、本周=周一~周日),不做「截至今天」截断——否则月初第一天点「本月」会与「今日」重合、无法操作;这是操作逻辑问题,不是数据问题。
- 2026-09-01 · 第十一轮(费用计算规则,老师定):m_dCommission 的值是**佣金费率(万分之)**——如 0.852 = 万分之0.852 = 0.0000852(不是金额 0.852 元)。费用规则:佣金 = 成交额 × 万0.852,不足 5 元按 5 元(账号没免五);卖出加印花税(万分之5,2023-08-28 起)和过户费(万分之0.1,双向,无最低,2022-04-29 起,老师确认费率);过户费收费方中登、ETF/LOF/可转债/REITs 免收。已实现 calcTradeFees 逐笔计算 + 前端聚合展示(总费用/佣金/印花税/过户费四列)。
- 2026-09-01 修正五(佣金合并计费,老师纠正):**同一笔委托分多笔成交,按总成交金额合并算一次佣金**(不逐笔重复收费);多笔独立委托(分开下单)才各自算佣金、各自触发 5 元最低。实现:calcOrderFees 委托层合并计费(Σ成交额×费率→最低5元一次),mapTrade 保留原始成交字段不再逐笔算费;前端聚合调用 calcOrderFees,展开明细只展示成交本身(费用在委托主行)。验证:200股拆两笔100+100,佣金5元(非10元);两笔独立委托各5元(10元)。
- 2026-09-01 修正四(本周范围,老师纠正):本周 = **周一~周五**(不考虑周六日,不是往前推 7 天/自然周周日);实现 weekSunday→weekFriday(周一+4)。
- 2026-09-01 修正三(交互模型,老师纠正):**交互是单向的**——用户先有操作(点「本月」),才有时间范围;不能反过来从「搜索范围落在哪」反向推断用户交互的是哪个按钮。实现改为 **preset 意图状态**:点按钮 → 记录 preset → 按钮高亮(单向);手动改日期 → 清除 preset(不再是任何快捷操作);轮询由 preset==='today' 决定,而非范围反推。
- **2026-09-01 · 第八轮(排序逻辑定稿)**: