2.7 KiB
2.7 KiB
Phase 19 Completion Report
Status
✅ Completed
Implemented
P19-T01 ~ P19-T10: 后台完善
UserService— 用户列表(分页/筛选/脱敏)+ 详情(敏感权限控制)+ 状态修改UserController— 3个API端点OrganizationService+OrganizationController— 机构CRUD + 启用/停用OperatorManagementService— Operator列表/创建/停用/启用/重置密码AuditLogService+AuditLogController— 审计日志查询(按类型/操作人分页)AnalyticsService+AnalyticsController— Dashboard统计接口UserListItemDTO/UserDetailDTO— DTO分离(列表脱敏,详情按权限展示)
Admin Web 页面(+6 模块)
- A02 工作台 — DashboardView(用户/婚恋/安全/红娘四组统计卡片)
- A03/A04 用户管理 — UserManagementView + UserDetailView(含风险记录Tab)
- A17 机构管理 — OrganizationView(CRUD + 启用/停用)
- A18 人员管理 — OperatorManagementView(创建/重置密码/停用/启用)
- 审计日志 — AuditLogView(按资源类型筛选 + 操作动作映射)
- 路由注册:/users, /users/detail, /organizations, /operators, /audit-logs
Core Invariants 已保护
- ✅ 列表页不显示完整手机号 — UserListItemDTO 仅展示脱敏尾号
- ✅ 敏感信息需权限控制 — UserDetailDTO 默认脱敏,仅 super_admin/admin 可查看明文
- ✅ 访问敏感信息记录审计 — VIEW_USER_DETAIL 写入 audit_logs
- ✅ 用户状态修改可追溯 — UPDATE_USER_STATUS 写入 audit_logs
API 端点(新增13个)
GET /operator/users(用户列表) GET /operator/users/{id}(用户详情) PUT /operator/users/{id}/status(修改状态) GET /operator/organizations(机构列表) POST /operator/organizations(创建机构) PUT /operator/organizations/{id}(更新机构) PUT /operator/organizations/{id}/{enable,disable}(启用/停用) GET /operator/operators(Operator列表) POST /operator/operators(创建Operator) PUT /operator/operators/{id}/{enable,disable}(启用/停用) PUT /operator/operators/{id}/reset-password(重置密码) GET /operator/operators/organizations(可选机构列表) GET /operator/audit/logs(审计日志) GET /operator/analytics/dashboard(Dashboard统计)
Tests
- Phase 19 无新增独立测试类(复用已有常量/结构测试)
Project Stats
- Java files: 195 (+11 from Phase 18)
- Test classes: 30
- Migration SQL: 13
- Admin Web 模块: 9
Next Phase
Phase 20: Analytics(用户漏斗/Match漏斗/每日汇总报表 + 趋势图)