Files
xzmaster/.serena/memories/review_service_v1.md
hujun faf87fe3d6 feat: 添加局后复盘服务与页面容器组件
新增复盘服务相关DTO、Controller和Service
实现复盘页面容器组件ReviewPageContainer
更新前端页面架构文档与开发计划
移除DemoGameController中的演示复盘接口
补充复盘服务单元测试
2026-03-20 16:50:49 +08:00

16 lines
1.7 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.
# 局后复盘服务 V12026-03-20
- 已移除 demo 复盘链路:`DemoGameController` 不再暴露 `GET /api/demo/review``DemoGameService` 也已移除 demo review 生成逻辑。
- 新增真实复盘接口:`GET /api/games/{gameId}/review?userId={userId}`
- `ReviewController` 负责暴露接口,`ReviewService` 负责基于真实 `GameSession``settlementHistory` 生成 `ReviewSummaryResponse`
- `GameSessionService` 新增只读查询口 `getSessionForReview(String gameId)`,当前仅供复盘服务读取内存态会话;未引入新持久化或快照表。
- 当前复盘算法范围KISS/YAGNI 版本):
- 个人总览:读取当前座位最终分数、结果标签、总结文案。
- 关键结算:从 `settlementHistory` 中筛出与该座位直接相关的结算,生成标题、摘要、分值和番型/结算标签。
- 关键失误:仅基于真实负向结算生成启发式问题项,当前覆盖点炮、自摸失分、抢杠胡、退税、查叫、明杠/杠类被动付分。
- 训练方向:基于负向结算类型和是否有正向胡牌样本,生成风险控制、成叫效率、杠牌时机、基础番型等训练建议。
- 当前限制:
- 仍是内存态复盘,服务重启后对局与复盘数据会丢失。
- 还没有逐手牌谱回放、动作级失误定位、个人可见信息回放时间线。
- `mistakeInsights` 仍是启发式生成,不是严格牌效/安牌分析。
- 前端已改为手动加载当前真实对局/当前视角复盘;切换视角或切换对局时会清空旧复盘,避免显示过期摘要。
- 已验证:`cd backend && mvn test` 通过;`cd frontend && npm run build` 通过。