Files
danyang-match/docs/Phase-20-Completion-Report.md
T

1.6 KiB
Raw Blame History

Phase 20 Completion Report

Status

✅ Completed

Implemented

P20-T01 ~ P20-T08: Analytics 分析

  • AnalyticsService — Dashboard / 用户漏斗 / Match漏斗 / 每日汇总 / 安全统计
  • AnalyticsController — 5个API端点(含日期范围参数)
  • 新增API:/operator/analytics/user-funnel, /match-funnel, /daily-summary, /safety
  • LambdaQueryWrapper 正确引用 Match.matchedAt, Conversation.createdAt, Report.createdAt

Admin Web 页面

  • A20 数据分析页 — 用户漏斗(4阶段)+ Match漏斗(6阶段)+ 安全卡片 + 每日汇总表
  • 路由注册:/analytics

Core Invariants 已保护

  • ✅ 漏斗各阶段转化率可计算 — 每个阶段计算转化率百分比
  • ✅ 每日汇总包含所有关键指标 — 新增用户/Match/聊天/举报
  • ✅ 数据范围可配置 — since/until 日期参数控制时间窗口
  • ✅ 男女比例/年龄分布有效 — 从 UserProfile 聚合计算

API 端点(5个)

GET /operator/analytics/dashboard(工作台统计) GET /operator/analytics/user-funnel?since=&until=(用户漏斗) GET /operator/analytics/match-funnel?since=&until=(Match漏斗) GET /operator/analytics/daily-summary?days=30(每日汇总) GET /operator/analytics/safety(安全统计)

Tests

  • AnalyticsServiceTest: 5 个不变量用例

Project Stats

  • Java files: 195(未增加,复用已有)
  • Test classes: 31 (+1)
  • Migration SQL: 13
  • Admin Web 模块: 10

Next Phase

Phase 21: 账号生命周期(注销/退出服务/数据脱敏)