2.6 KiB
2.6 KiB
独立排行榜迁移核对
来源为旧 main RankServiceImpl、RankController、日汇总和身份键 Mapper,以及 dev/dev1.0 RankingAnalysis.vue。
/sw/rank/channel、business、game各返回注册、充值、付费率、活跃四组 TOP20。日期缺一项时默认上海当天,前端默认近 7 天。上期为当前开始日之前的等长连续区间。- 渠道榜金额和人数均使用旧
COALESCE(NULLIF(top_promote_id,0),promote_id)分组,即使不包含下级也保留根算法。不能复用工作台的 CASE 根算法或注册榜 INNER JOIN;真实历史异常 top ID 已有测试覆盖。 - 游戏榜按平台+游戏 ID,展示当前游戏名,缺名为“游戏ID”。objectId 保留
source|id;渠道 objectId 为 ID 字符串。旧 query 的 gameId 实际没有用于筛选,新接口保留其无筛选行为,页面不添加旧模板不存在的游戏选择器。 - 商务榜超管列出一/二/三级商务,普通商务看直属下级,三级空榜。每个被展示商务的数据来自本人及全部下级的正常绑定渠道。一次关系查询展开目标、下级、绑定、渠道,代替旧每个目标单独查询下级的 N+1;查询条件保持各目标自己的祖先路径范围。
- 商务人数累加各渠道人数,不做跨渠道全局去重;金额累加同一组渠道。逐渠道保留 Java int 上限,商务总数采用 int64 避免旧 int 溢出。祖先与下级可以分别上榜;不是互斥分区。
- 注册、充值、活跃只展示正值;付费率只要求活跃大于 0,保留 0% 行。金额固定模式 0,人数取当前偏好。
- 2026-11-04 按用户要求,四榜环比统一为
(本期值 - 上期值) / 上期值 × 100%。上期没有有效数据或为零时为 null;本期付费率降到零且上期为正时为 -100%。付费率原来的百分点差已改为相对增幅,这是迁移后明确采用的新口径。金额展示先保留两位,金额环比用未舍入汇总,与旧服务一致。 - 环比保留两位,绝对值小于 0.01 为持平。数值排序用精确有理数,同值追加平台/ID 稳定排序,截取后连续编号。
- 源码还核对了空平台含义:独立排行榜空选表示全部,区别于工作台必须选平台。非法/倒置日期明确拒绝。缺报表时 available=false 和空数组,不伪造零指标或空查询成功。
- 当前菜单名称、父级和路径已通过实际菜单接口核实,仍为
sw_DataAnalysis下sw_RankingAnalysis/RankingAnalysis。
当前验证状态统一见 验收与性能记录,不再维护阶段性运行报告。