# 项目变更日志 ## 2026-04-21 ### 📊 变更统计 - **修改文件**: 32个 - **新增代码**: +828行 - **删除代码**: -48行 - **净增代码**: +780行 - **新增模块**: 1个(ECS外部课程系统) --- ### 🎯 变更详情 #### 1. 新增 ECS 模块(外部课程系统)⭐ **模块路径**: `ruoyi-modules/ruoyi-ecs` **状态**: 全新模块(未提交) ##### 1.1 模块结构 ``` ruoyi-modules/ruoyi-ecs/ ├── src/main/java/org/dromara/ecs/ │ ├── RuoYiEcsApplication.java # 应用启动类 │ ├── controller/ # 控制器层(9个) │ ├── domain/ # 领域模型(8个) │ │ ├── EcsSection.java # 课表实体 │ │ ├── bo/ # 业务对象 │ │ └── vo/ # 视图对象 │ ├── dubbo/ # Dubbo远程服务(1个) │ ├── job/ # 定时任务(1个) │ ├── listener/ # 消息监听(2个) │ ├── mapper/ # 数据访问层(5个) │ └── service/ # 业务逻辑层(7个) │ └── impl/ │ └── EcsSectionServiceImpl.java # 课表服务实现 └── src/main/resources/ └── mapper/ # MyBatis映射文件 ``` ##### 1.2 配套资源 - **API模块**: `ruoyi-api/ruoyi-api-ecs/` - **Nacos配置**: `config/nacos/ruoyi-ecs.yml` - **需求文档**: `doc/` 目录下包含: - `ecs-section-requirements.md` - 课表需求文档 - `ecs-course-requirements.md` - 课程需求文档 - `ecs-term-requirements.md` - 学期需求文档 - `ecs-attend-requirements.md` - 考勤需求文档 ##### 1.3 今日优化 **文件**: [EcsSectionServiceImpl.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-ecs/src/main/java/org/dromara/ecs/service/impl/EcsSectionServiceImpl.java) **优化内容**: 课表查询排序逻辑 - 修改 `buildQueryWrapper()` 方法 - 新增排序规则: - 按上课日期降序排列(`orderByDesc(CourseDate)`) - 按课程节次升序排列(`orderByAsc(SectionIndex)`) - 移除分页查询中的旧排序逻辑(`CreateTime`) **影响范围**: - `queryList()` - 列表查询 - `queryPageList()` - 分页查询 --- #### 2. ruoyi-system 模块 - 部门管理增强 **变更文件**: 6个文件,+265行 ##### 2.1 部门实体扩展 **文件**: [SysDept.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDept.java) **新增字段**: | 字段名 | 类型 | 说明 | |--------|------|------| | `managerId` | Long | 班主任用户ID | | `planCount` | Integer | 计划人数 | | `dataSource` | Integer | 数据来源(0-本地,1-同步) | | `roomId` | Long | 教室ID | | `roomName` | String | 教室名称 | **配套BO/VO更新**: - [SysDeptBo.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java) - +15行 - [SysDeptVo.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java) - +25行 ##### 2.2 培训班查询功能 **文件**: [RemoteDeptServiceImpl.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java) **新增内容**: - 实现培训班查询Dubbo接口(+87行) - 支持按 `deptType=05` 筛选培训班 - 返回培训班列表及详细信息 **服务接口**: - [ISysDeptService.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java) - +35行 - [SysDeptServiceImpl.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java) - +80行 ##### 2.3 远程服务API **文件**: [RemoteDeptService.java](file:///D:/dt_ykt/ykt_server/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java) **新增接口**: - 培训班查询方法定义(+35行) - 支持跨模块调用 --- #### 3. ruoyi-backstage 模块 - 后台管理增强 **变更文件**: 13个文件,+389行 ##### 3.1 教室管理 **实体扩展**: - [PtRoom.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/domain/PtRoom.java) - +14行 - [PtRoomBo.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/domain/bo/PtRoomBo.java) - +14行 - [PtRoomVo.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/domain/vo/PtRoomVo.java) - +14行 **远程服务**: - [RemotePtRoomServiceImpl.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/dubbo/RemotePtRoomServiceImpl.java) - +88行 - 实现教室查询Dubbo接口 - 支持跨模块调用教室信息 **数据访问**: - [PtRoomMapper.xml](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/resources/mapper/basics/room/PtRoomMapper.xml) - +3行 ##### 3.2 用户账户管理 **远程服务实现**: - [RemoteUserAccountServiceImpl.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/dubbo/RemoteUserAccountServiceImpl.java) - +178行 - 实现用户账户查询Dubbo接口 - 支持账户余额查询 - 支持账户流水查询 **服务层**: - [IPtUserAccountService.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/IPtUserAccountService.java) - +9行 - [PtUserAccountServiceImpl.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/impl/PtUserAccountServiceImpl.java) - +34行 **数据访问**: - [PtUserAccountMapper.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/mapper/PtUserAccountMapper.java) - +6行 - [PtUserAccountMapper.xml](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/resources/mapper/payment/PtUserAccountMapper.xml) - +22行 ##### 3.3 个人中心接口 **控制器更新**: - [SelfController.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/controller/self/SelfController.java) - +1行 - [TeacherController.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/controller/self/TeacherController.java) - +1行 - [TraineeController.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/controller/self/TraineeController.java) - +1行 **学员VO扩展**: - [YcTraineeVo.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/domain/vo/yc/YcTraineeVo.java) - +2行 ##### 3.4 其他优化 **初始化任务**: - [InitRunner.java](file:///D:/dt_ykt/ykt_server/ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/task/InitRunner.java) - +10行/-10行 - 优化启动初始化逻辑 --- #### 4. ruoyi-api 模块 - 远程服务接口扩展 **变更文件**: 5个文件,+121行 ##### 4.1 新增远程服务接口 **教室服务**: - [RemotePtRoomService.java](file:///D:/dt_ykt/ykt_server/ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/RemotePtRoomService.java) - +31行 - 定义教室查询接口 - 支持按条件查询教室信息 **用户账户服务**: - [RemoteUserAccountService.java](file:///D:/dt_ykt/ykt_server/ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/RemoteUserAccountService.java) - +45行 - 定义用户账户查询接口 - 支持余额查询和流水查询 ##### 4.2 新增DTO **后台DTO**: `ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/dto/` - 教室相关DTO - 用户账户相关DTO **系统DTO**: `ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/dto/` - 培训班相关DTO - 部门相关DTO ##### 4.3 分页结果封装 **文件**: [PageResult.java](file:///D:/dt_ykt/ykt_server/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/PageResult.java) **作用**: - 解耦 `ruoyi-common-satoken` 与 `ruoyi-api-system` 的循环依赖 - 提供统一的分页返回格式 - 替代 `TableDataInfo` 在API层的使用 --- #### 5. 配置和文档 ##### 5.1 POM配置调整 **根POM**: [pom.xml](file:///D:/dt_ykt/ykt_server/pom.xml) - +4行/-1行 - 调整模块依赖关系 - 优化构建配置 **API POM**: - [ruoyi-api/pom.xml](file:///D:/dt_ykt/ykt_server/ruoyi-api/pom.xml) - +1行(新增ECS API模块) - [ruoyi-api-backstage/pom.xml](file:///D:/dt_ykt/ykt_server/ruoyi-api/ruoyi-api-backstage/pom.xml) - +9行 - [ruoyi-api-bom/pom.xml](file:///D:/dt_ykt/ykt_server/ruoyi-api/ruoyi-api-bom/pom.xml) - +7行 - [ruoyi-api-system/pom.xml](file:///D:/dt_ykt/ykt_server/ruoyi-api/ruoyi-api-system/pom.xml) - -1行(移除循环依赖) **Modules POM**: - [ruoyi-modules/pom.xml](file:///D:/dt_ykt/ykt_server/ruoyi-modules/pom.xml) - +1行(新增ECS模块) ##### 5.2 应用配置 **认证服务**: [application.yml](file:///D:/dt_ykt/ykt_server/ruoyi-auth/src/main/resources/application.yml) - +2行/-1行 - 调整认证配置 ##### 5.3 项目文档 **README**: [README.md](file:///D:/dt_ykt/ykt_server/README.md) - +78行/-48行 - 更新项目说明 - 补充新功能介绍 --- ### 🔍 关键技术点 #### 1. Dubbo远程服务扩展 - 新增3个远程服务接口及实现 - 支持跨模块调用:教室、用户账户、培训班 - 统一使用DTO进行数据传输 #### 2. 循环依赖解耦 - **问题**: `ruoyi-common-satoken` 依赖 `ruoyi-api-system` 导致循环依赖 - **方案**: 引入 `PageResult` 替代 `TableDataInfo` - **影响**: API层接口返回类型调整 #### 3. 微服务模块新增 - 完整的ECS外部课程系统模块 - 支持课表、课程、学期、考勤管理 - 独立Nacos配置 #### 4. 培训班功能增强 - 部门表扩展支持培训班属性 - 新增班主任、计划人数、教室等字段 - 提供专门的培训班查询接口 #### 5. 支付账户管理 - 用户账户远程服务支持跨模块查询 - 支持余额查询和流水查询 - 为消费模块提供数据支撑 --- ### ⚠️ 注意事项 1. **未提交内容**: 当前所有更改均未提交到Git 2. **ECS模块**: 需确认Nacos配置已同步 3. **数据库变更**: SysDept和PtRoom新增字段需执行DDL 4. **循环依赖**: 确认PageResult替换后无编译错误 5. **接口兼容**: 远程服务接口需向后兼容 --- ### 📝 建议提交策略 ```bash # 1. 提交ECS模块 git add ruoyi-modules/ruoyi-ecs/ git add ruoyi-api/ruoyi-api-ecs/ git add config/nacos/ruoyi-ecs.yml git add doc/ecs-*.md git commit -m "feat: 新增ECS外部课程系统模块" # 2. 提交System模块 git add ruoyi-modules/ruoyi-system/ git add ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java git add ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/ git commit -m "feat: 部门管理增强,新增培训班查询功能" # 3. 提交Backstage模块 git add ruoyi-modules/ruoyi-backstage/ git add ruoyi-api/ruoyi-api-backstage/ git commit -m "feat: 后台管理增强,新增教室和用户账户远程服务" # 4. 提交公共模块 git add ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/PageResult.java git add ruoyi-api/pom.xml git add ruoyi-api/ruoyi-api-bom/pom.xml git add pom.xml git commit -m "refactor: 解耦循环依赖,新增PageResult分页封装" # 5. 提交配置和文档 git add ruoyi-auth/src/main/resources/application.yml git add README.md git commit -m "docs: 更新项目文档和配置文件" ``` --- **生成时间**: 2026-04-21 **生成工具**: Git + AI分析