模块设计
2025/12/3大约 7 分钟
模块设计
概述
Gupt Management System 采用模块化设计,各个功能模块相对独立,通过明确的接口进行通信和交互。本文档基于项目现有模块结构,详细描述各模块的功能职责、核心组件、模块间的依赖关系及交互方式。
1. API模块 (gupt-api)
1.1 功能范围
- 定义系统对外的数据传输对象(DTO)
- 定义系统响应视图对象(VO)
- 提供数据验证工具类
- 作为各服务模块间数据传输的契约层
1.2 核心组件
- DTO包:包含各业务模块的数据传输对象
- club包:社团相关DTO(ClubActivityDTO、ClubDTO)
- common包:通用DTO(PageDTO)
- course包:课程相关DTO(CourseDTO、CourseScheduleDTO、GradeDTO、LeaveRequestDTO)
- dormitory包:宿舍相关DTO(DormitoryDTO、DormitoryRepairOrderDTO等)
- email包:邮件相关DTO(EmailDTO)
- info包:信息相关DTO(NewsDTO、NoticeDTO)
- user包:用户相关DTO(StudentDTO、StudentLoginDTO)
- VO包:包含各业务模块的响应视图对象
- club包:社团相关VO(ClubActivityVO、ClubVO)
- common包:通用VO(PaginationVO、StarInfoVO)
- course包:课程相关VO(CourseVO、CourseScheduleVO、LeaveRecordVO)
- dormitory包:宿舍相关VO(DormitoryVO、DormitoryRepairOrderVO等)
- email包:邮件相关VO(EmailVO)
- info包:信息相关VO(NewsVO、NoticeVO)
- user包:用户相关VO(LoginVO、StudentVO)
- 工具类:ValidateUtil用于数据验证
1.3 模块依赖关系
- 被所有服务模块依赖,作为数据传输的基础
- 依赖lombok、mybatis-plus-boot-starter、jackson-databind等基础组件
2. 用户服务模块 (gupt-user-service)
2.1 功能范围
- 学生信息管理
- 用户基本操作服务
- 学生数据查询与维护
2.2 核心组件
- 控制器层:StudentController负责处理学生相关的HTTP请求
- 服务层:
- StudentService:学生业务逻辑接口
- UserService:用户通用业务逻辑接口
- StudentServiceImpl:学生业务逻辑实现
2.3 模块依赖关系
- 依赖gupt-api模块获取DTO和VO定义
- 被gupt-auth模块调用进行用户验证
- 为其他服务模块提供用户信息支持
3. 认证模块 (gupt-auth)
3.1 功能范围
- 安全认证配置
- JWT令牌生成与验证
- 用户认证与授权上下文管理
3.2 核心组件
- 配置类:SecurityConfig定义系统安全配置
- 领域类:StudentDetails封装学生认证信息
- JWT过滤器:JwtAuthenticationTokenFilter处理JWT认证
- 工具类:
- JwtTokenUtil:JWT令牌生成、验证和解析
- SecurityContextUtil:安全上下文管理
3.3 模块依赖关系
- 依赖gupt-user-service模块获取用户信息
- 依赖Spring Security框架提供认证授权基础功能
- 为所有需要认证的模块提供安全保障
4. 课程服务模块 (gupt-course-service)
4.1 功能范围
- 课程信息管理
- 课程表管理
- 成绩管理
- 请假记录管理
4.2 核心组件
- 控制器层:
- CourseController:处理课程相关请求
- GradeController:处理成绩相关请求
- LeaveController:处理请假相关请求
- 服务层:
- CourseService:课程业务逻辑接口
- CourseScheduleService:课程表业务逻辑接口
- GradeService:成绩业务逻辑接口
- LeaveRecordService:请假记录业务逻辑接口
- 各服务接口的实现类(*ServiceImpl)
4.3 模块依赖关系
- 依赖gupt-api模块获取DTO和VO定义
- 依赖gupt-auth模块进行权限验证
- 可能依赖gupt-user-service获取学生信息
5. 宿舍服务模块 (gupt-dormitory-service)
5.1 功能范围
- 宿舍信息管理
- 宿舍成员管理
- 宿舍报修管理
- 宿舍评分管理
- 宿舍公告管理
5.2 核心组件
根据gupt-api模块中的DTO和VO定义,该模块应包含:
- 宿舍基本信息管理组件
- 宿舍成员管理组件
- 报修订单处理组件
- 评分统计组件
- 公告发布组件
5.3 模块依赖关系
- 依赖gupt-api模块获取DTO和VO定义
- 依赖gupt-auth模块进行权限验证
- 与gupt-user-service模块交互获取学生信息
6. 社团服务模块 (gupt-club-service)
6.1 功能范围
- 社团信息管理
- 社团活动管理
6.2 核心组件
根据gupt-api模块中的DTO和VO定义,该模块应包含:
- 社团管理组件
- 社团活动管理组件
6.3 模块依赖关系
- 依赖gupt-api模块获取DTO和VO定义
- 依赖gupt-auth模块进行权限验证
7. 信息服务模块 (gupt-info-service)
7.1 功能范围
- 通知公告管理
- 新闻资讯管理
7.2 核心组件
根据gupt-api模块中的DTO和VO定义,该模块应包含:
- 通知管理组件
- 新闻管理组件
7.3 模块依赖关系
- 依赖gupt-api模块获取DTO和VO定义
- 依赖gupt-auth模块进行权限验证
8. 邮件服务模块 (gupt-email-service)
8.1 功能范围
- 邮件发送服务
- 邮件内容管理
8.2 核心组件
根据gupt-api模块中的DTO和VO定义,该模块应包含:
- 邮件发送组件
- 邮件模板管理组件
8.3 模块依赖关系
- 依赖gupt-api模块获取DTO和VO定义
- 可能被gupt-info-service模块调用发送通知邮件
9. 助手服务模块 (gupt-assistant-service)
9.1 功能范围
- 智能问答服务
- 提供系统辅助功能
9.2 核心组件
- 问答服务组件
- 辅助功能实现组件
9.3 模块依赖关系
- 可能依赖其他服务模块获取数据支持
- 通过API接口为前端提供服务
10. 公共模块 (gupt-common)
10.1 功能范围
- 提供通用工具类
- 定义系统常量
- 提供异常处理机制
- 数据校验工具
- 日志记录功能
10.2 核心组件
- 通用工具类库
- 异常处理类
- 数据校验工具
- 日志配置
10.3 模块依赖关系
- 被所有其他模块依赖
- 作为系统的基础设施层
11. 领域模型模块 (gupt-domain)
11.1 功能范围
- 定义核心业务实体
- 封装领域业务规则
- 实现领域服务
11.2 核心组件
- 业务实体类
- 领域服务接口和实现
- 值对象定义
11.3 模块依赖关系
- 可能被各业务服务模块依赖
- 为业务逻辑提供领域模型支持
12. 配置模块 (gupt-config)
12.1 功能范围
- 系统配置管理
- 环境配置支持
- 配置加载与缓存
12.2 核心组件
- 配置管理组件
- 配置加载器
- 配置缓存机制
12.3 模块依赖关系
- 被其他模块依赖获取配置信息
- 支持系统的可配置性
13. 消息队列模块 (gupt-message-queue)
13.1 功能范围
- 消息发送与接收
- 消息队列管理
- 异步任务处理
13.2 核心组件
- 消息生产者
- 消息消费者
- 队列管理组件
13.3 模块依赖关系
- 为其他模块提供异步通信能力
- 处理系统中的异步任务
14. 第三方服务模块 (gupt-thirdpart-service)
14.1 功能范围
- 集成第三方服务
- 外部API调用封装
- 服务适配器实现
14.2 核心组件
- 第三方服务客户端
- API调用封装类
- 服务适配器
14.3 模块依赖关系
- 被需要第三方服务的模块调用
- 封装外部系统交互复杂性
15. Web模块 (gupt-web)
15.1 功能范围
- 提供Web层实现
- 请求路由与处理
- 静态资源管理
15.2 核心组件
- Web控制器
- 视图解析器
- 资源处理器
15.3 模块依赖关系
- 依赖各业务服务模块
- 作为系统的前端接入层
模块间交互方式
1. 同步调用
- 服务间通过接口直接调用
- 依赖注入方式使用其他模块服务
2. 异步通信
- 通过gupt-message-queue模块实现异步消息传递
- 适用于非实时性要求的业务场景
3. 数据传输
- 统一使用gupt-api模块定义的DTO和VO进行数据传输
- 确保接口数据格式一致性
4. 安全认证
- 统一通过gupt-auth模块进行身份验证和授权
- 使用JWT实现无状态认证
5. 公共能力
- 所有模块共享gupt-common提供的工具类和通用组件
- 统一的异常处理、响应格式和日志记录机制