refactor:项目架构重构和命名规范化

- 统一文件命名为snake_case格式(kebab-case  snake_case)
- 重构zulip模块为zulip_core,明确Core层职责
- 重构user-mgmt模块为user_mgmt,统一命名规范
- 调整模块依赖关系,优化架构分层
- 删除过时的文件和目录结构
- 更新相关文档和配置文件

本次重构涉及大量文件重命名和模块重组,
旨在建立更清晰的项目架构和统一的命名规范。
This commit is contained in:
moyin
2026-01-08 00:14:14 +08:00
parent 4fa4bd1a70
commit bb796a2469
178 changed files with 24767 additions and 3484 deletions

View File

@@ -0,0 +1,157 @@
# Admin 管理员业务模块
Admin 是应用的管理员业务模块提供完整的后台管理功能包括管理员认证、用户管理、系统监控和日志管理等核心业务能力。作为Business层模块专注于管理员相关的业务逻辑编排和HTTP接口提供。
## 管理员认证功能
### login()
管理员登录认证,支持用户名、邮箱、手机号多种标识符登录。
### AdminGuard.canActivate()
管理员权限验证守卫确保只有role=9的管理员可以访问后台接口。
## 用户管理功能
### listUsers()
分页获取用户列表支持自定义limit和offset参数。
### getUser()
根据用户ID获取单个用户的详细信息。
### resetPassword()
管理员重置指定用户的密码,支持密码强度验证。
### updateUserStatus()
修改单个用户的账户状态,支持激活、锁定、禁用等状态变更。
### batchUpdateUserStatus()
批量修改多个用户的账户状态,提供批量操作结果统计。
### getUserStatusStats()
获取各种用户状态的数量统计信息,用于后台数据分析。
## 系统监控功能
### getRuntimeLogs()
获取应用运行日志的尾部内容,支持自定义返回行数。
### downloadLogsArchive()
将整个logs目录打包为tar.gz格式并提供下载。
### getLogDirAbsolutePath()
获取日志目录的绝对路径,用于文件系统操作。
## 使用的项目内部依赖
### AdminCoreService (来自 core/admin_core)
管理员认证核心服务提供JWT Token生成、验证和密码加密等技术实现。
### UsersService (来自 core/db/users)
用户数据服务提供用户CRUD操作的技术实现。
### UsersMemoryService (来自 core/db/users)
用户内存数据服务,提供内存模式下的用户数据操作。
### LogManagementService (来自 core/utils/logger)
日志管理服务,提供日志文件读取和管理功能。
### UserStatus (来自 business/user-mgmt/enums)
用户状态枚举,定义用户的各种状态值。
### UserStatusDto (来自 business/user-mgmt/dto)
用户状态修改数据传输对象,提供状态变更的请求结构。
### BatchUserStatusDto (来自 business/user-mgmt/dto)
批量用户状态修改数据传输对象,支持批量状态变更操作。
### UserStatusResponseDto (来自 business/user-mgmt/dto)
用户状态响应数据传输对象,定义状态操作的响应格式。
### AdminLoginDto (本模块)
管理员登录请求数据传输对象,定义登录接口的请求结构。
### AdminResetPasswordDto (本模块)
管理员重置密码请求数据传输对象,定义密码重置的请求结构。
### AdminLoginResponseDto (本模块)
管理员登录响应数据传输对象,定义登录接口的响应格式。
### AdminUsersResponseDto (本模块)
用户列表响应数据传输对象,定义用户列表接口的响应格式。
### AdminUserResponseDto (本模块)
单个用户响应数据传输对象,定义用户详情接口的响应格式。
### AdminCommonResponseDto (本模块)
通用响应数据传输对象,定义通用操作的响应格式。
### AdminRuntimeLogsResponseDto (本模块)
运行日志响应数据传输对象,定义日志接口的响应格式。
## 核心特性
### 完整的管理员认证体系
- 支持多种标识符登录(用户名、邮箱、手机号)
- JWT Token认证机制确保接口安全性
- 管理员权限验证只允许role=9的用户访问
- 登录频率限制,防止暴力破解攻击
### 全面的用户管理能力
- 用户列表分页查询,支持大数据量处理
- 用户详情查询,提供完整的用户信息
- 密码重置功能,支持密码强度验证
- 用户状态管理,支持单个和批量状态修改
- 用户状态统计,提供数据分析支持
### 强大的系统监控功能
- 实时日志查询,支持自定义行数
- 日志文件打包下载,便于问题排查
- 文件系统路径管理,确保操作安全性
- 错误处理和异常监控
### 业务逻辑编排优化
- 统一的API响应格式提供一致的接口体验
- 完整的异常处理机制,确保系统稳定性
- 详细的操作日志记录,便于审计和追踪
- 私有方法提取,提高代码复用性和可维护性
### 高质量的测试覆盖
- 单元测试覆盖率100%,确保代码质量
- 完整的异常场景测试,验证错误处理
- Mock服务配置实现测试隔离
- 边界情况测试,确保系统健壮性
## 潜在风险
### 权限安全风险
- 管理员Token泄露可能导致系统被恶意操作
- 建议定期更换JWT签名密钥设置合理的Token过期时间
- 建议实施IP白名单限制只允许特定IP访问管理接口
### 批量操作性能风险
- 批量用户状态修改在大数据量时可能影响性能
- 建议设置批量操作的数量限制,避免单次处理过多数据
- 建议实施异步处理机制,提高大批量操作的响应速度
### 日志文件安全风险
- 日志下载功能可能暴露敏感信息
- 建议对日志内容进行脱敏处理,移除敏感数据
- 建议实施日志访问审计,记录所有日志下载操作
### 系统资源占用风险
- 大量并发的日志查询可能影响系统性能
- 建议实施请求频率限制,防止资源滥用
- 建议监控系统资源使用情况,及时发现异常
### 业务逻辑一致性风险
- 用户状态修改与其他业务模块的状态同步问题
- 建议实施事务机制,确保状态变更的原子性
- 建议添加状态变更通知机制,保持业务数据一致性
## 版本信息
- **版本**: 1.0.1
- **作者**: moyin
- **创建时间**: 2025-12-19
- **最后修改**: 2026-01-07
- **修改类型**: 代码规范优化 - 修正文件命名规范,更新作者信息和修改记录