Files
kra-new/docs/sw6-to-kra/server-analysis-source-notes.md
T

2.2 KiB

区服分析迁移核对

核对旧 main 的 ServerAnalysisServiceImpl、SwReportServerDayQueryServiceImpl、两个区服日汇总 Mapper,以及 dev/dev1.0 的 ServerAnalysis.vue。

  • /sw/serverAnalysis/games 复用已迁移游戏选项;新增 /servers、/list。两者均要求游戏名称;来源支持逗号分隔或重复参数。
  • 选项通过当前 tab_game.game_name 确定平台+游戏,匹配区服名称;保留区服编号的字符串及前导零。原接口不按商务绑定裁剪资料选项,统计查询独立按可见范围隔离。
  • 选项默认 50,超过 100 时允许 100000,沿用旧批量选项请求。使用 (source_db,game_id) IN (SELECT source_db,id FROM tab_game …) 保持成对关联并避免重复行;MySQL 5.7 可先按游戏名索引定位,再使用区服的 game_id 索引,避免相关 EXISTS 扫描全部区服。
  • 统计读取 tab_sw_report_server_day 和身份键表,按平台+游戏+区服编号分组;空白编号不展示。不额外加日游戏报表的 game_id > 0 限制。
  • 人数在每个区服内 COUNT DISTINCT,金额固定模式 0;筛选历史报表游戏名。展示优先金额汇总的历史游戏名,无金额行时回退当前游戏名,保留旧行为。
  • 区服名称/开服日期按三元组批量补充;重复资料固定取最小 ID,提高原不确定顺序的稳定性。相同主排序后保留区服编号顺序,再按平台、游戏 ID 稳定排列。
  • 未指定区服时忽略新增/活跃/付费人数和四舍五入金额均为零的行;指定区服保留报表已有零行,不凭资料表制造新行。
  • 汇总是全部筛选后展示行之和,不随分页变化;ARPU 的分母是活跃人数。逐行人数保留 Java int 上限,summary 改用 int64 避免原累加溢出;金额与比率精确处理。
  • 缺任一必要业务表时明确未接入,summary 为 null;不能混用不存在区服和缺表错误。未知开服时间保持 null。
  • 后端默认上海当天,前端默认近 30 天;非法日期/倒置周期明确拒绝。页长沿用最大 500。

当前验证状态统一见 验收与性能记录,不再维护阶段性运行报告。