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

3.0 KiB

工作台与仪表盘业务数据

核对旧 main WorkbenchServiceImpl、ChannelTreeMetricsSupport、日汇总 Mapper,以及 dev/dev1.0 的 views/index.vue,迁移 /sw/workbench/summary、registerTop、payRank、unloginTop。

六项指标

  • sourceDbList 至少选择一个平台;商务范围为本人及下级正常绑定,超管不限;是否包含下级渠道与身份证去重读取当前偏好。
  • 今日注册、活跃人数对比昨日,今日充值对比昨日,本月充值对比上月 1 日至同日(上月无该日期时取月末)。金额固定模式 0,人数模式 0 在全平台汇总时加平台前缀,模式 1 跨平台去重。
  • 活跃渠道数按每个渠道自身当日注册人数大于 0 或汇总充值金额大于 0 计算,不合并一级;同一渠道同时命中只计一次。新增渠道数按可见实体的创建时间统计,包含下级开关同时影响两项。
  • 本期/上期值先保留两位,再算一位小数环比;上期为零时 changeRate=null。changeDiff 保留字段但为 null,与旧服务实际输出一致。

四组榜单

  • 注册榜 TOP10:包含下级时使用旧 countByChannelRoot 的 INNER JOIN+CASE,在渠道树内去重;不会将缺少实体的官方/历史孤立记录纳入注册榜。此处与渠道统计页的 LEFT JOIN 根口径不同。
  • 充值最高/最低榜按金额固定模式 0,再归并到根渠道。最高榜只保留正值,最低榜额外包含可见一级渠道的零充值实体;负值沿用旧最低榜行为,不擅自清零。官方/缺账号名称按旧规则回退。
  • 注册/最高充值默认今日,最低充值默认近 30 天,支持 today/yesterday/last7/last30;包括今天。最高/最低共用 payRank,通过 order 区分。
  • 未登录榜仅取可见一级实体,先用最后登录时间,无有效登录时用创建时间,两者都无效为 99999;未来日期为 0,按上海自然日计算。
  • 数值排序使用精确有理数;同值按 ID,跨平台同号追加平台稳定排序。充值显示两位小数,未登录天数为整数字符串;所有榜单排名连续 1 至 10。

实现与验证

  • 仪表盘直接调用四个接口,并复用已有预警列表查询 status=1/pageSize=5,实现原最新五条轮播。Kra 快捷入口和公告保留。
  • 聚合、资料查询批量执行,未对每个渠道发起独立 SQL。注册榜不依赖金额表,未登录榜不依赖报表,缺少必要表返回明确不可用。
  • 六卡扩展 available=false 并返回 null 值;榜单保留数组成功协议,缺表返回业务错误,避免把未知榜单当作真实空榜。
  • 全量 Go、隔离数据库真实 TCP HTTP、前端 ESLint/构建通过;测试覆盖月末对照、零分母、大金额、TOP10、身份去重、下级偏好、负金额/零渠道、未登录回退和跨商务拒绝。实际 sw7 只读结果见 workbench-http-2026-11-04.json。
  • 按用户要求不检查页面交互。当前没有复制旧业务库,最终同源验收尚未开始。