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

1.7 KiB
Raw Blame History

局后复盘服务 V12026-03-20

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