forked from datawhale/whale-town-end
refactor:项目架构重构和命名规范化
- 统一文件命名为snake_case格式(kebab-case snake_case) - 重构zulip模块为zulip_core,明确Core层职责 - 重构user-mgmt模块为user_mgmt,统一命名规范 - 调整模块依赖关系,优化架构分层 - 删除过时的文件和目录结构 - 更新相关文档和配置文件 本次重构涉及大量文件重命名和模块重组, 旨在建立更清晰的项目架构和统一的命名规范。
This commit is contained in:
157
src/business/admin/README.md
Normal file
157
src/business/admin/README.md
Normal 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
|
||||
- **修改类型**: 代码规范优化 - 修正文件命名规范,更新作者信息和修改记录
|
||||
Reference in New Issue
Block a user