feat(结算): 实现血战麻将查叫与退税功能

新增局终处理逻辑,当牌墙耗尽且有多家未胡时:
1. 退税:未听牌玩家需退还此前杠分收入
2. 查叫:未听牌玩家向听牌玩家赔付最大理论点炮值
新增 SettlementType.TUI_SHUI 和 SettlementType.CHA_JIAO 结算类型
新增 ReadyHandOption 记录最优听牌选项

支持一炮多响裁决,新增 ResponseActionResolutionBatch 承载多赢家结果
在 GameSession 中新增 settlementHistory 保留结算记录供复用
更新开发文档要求加强关键区域的中文注释
This commit is contained in:
hujun
2026-03-20 15:05:00 +08:00
parent 34809fd0f3
commit b84d0e8980
11 changed files with 501 additions and 78 deletions

View File

@@ -234,10 +234,11 @@
### 5.3 注释与脚本约定
- 后端新增或修改的业务代码,需要为复杂规则、关键字段和跨阶段状态补充简洁中文注释,避免只靠方法名语义。
- 前端新增或修改的页面与状态逻辑,需要为复杂交互、实时消息消费和视图状态切换补充简洁中文注释,避免后续拆页时理解断层。
- 后续数据库表结构、迁移脚本、初始化 SQL存储过程,也需要补充必要中文注释,重点说明业务含义、约束原因关键索引用途。
- 注释要求遵守 `KISS`:只解释不直观的意图、约束边界,不写“变量赋值”这类冗余注释。
- 后端新增或修改的业务代码,必须为复杂规则、关键字段、状态切换、结算口径和跨阶段流程补充适量中文注释,不能只保留方法名级别语义。
- 前端新增或修改的页面、组件与状态逻辑,必须为复杂交互、实时消息消费、动作面板联动和视图状态切换补充适量中文注释,避免后续拆页或联调时理解断层。
- 后续数据库表结构、迁移脚本、初始化 SQL、索引和存储过程,也必须补充必要中文注释,重点说明业务含义、约束原因、字段口径、回填策略和关键索引用途。
- 注释要求遵守 `KISS`可以适当多写,但只解释不直观的意图、约束边界和取舍,不写“变量赋值”这类冗余注释。
- 对以下高风险区域,中文注释默认视为必需项:麻将规则判断、结算分摊、响应裁决、实时消息边界、局终处理、数据迁移与回滚脚本。
### 5.2 最关键的系统约束