2026-04-21-变更日志.md 12 KB

项目变更日志

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

优化内容: 课表查询排序逻辑

  • 修改 buildQueryWrapper() 方法
  • 新增排序规则:
    • 按上课日期降序排列(orderByDesc(CourseDate)
    • 按课程节次升序排列(orderByAsc(SectionIndex)
  • 移除分页查询中的旧排序逻辑(CreateTime

影响范围:

  • queryList() - 列表查询
  • queryPageList() - 分页查询

2. ruoyi-system 模块 - 部门管理增强

变更文件: 6个文件,+265行

2.1 部门实体扩展

文件: SysDept.java

新增字段: | 字段名 | 类型 | 说明 | |--------|------|------| | managerId | Long | 班主任用户ID | | planCount | Integer | 计划人数 | | dataSource | Integer | 数据来源(0-本地,1-同步) | | roomId | Long | 教室ID | | roomName | String | 教室名称 |

配套BO/VO更新:

  • SysDeptBo.java - +15行
  • SysDeptVo.java - +25行
2.2 培训班查询功能

文件: RemoteDeptServiceImpl.java

新增内容:

  • 实现培训班查询Dubbo接口(+87行)
  • 支持按 deptType=05 筛选培训班
  • 返回培训班列表及详细信息

服务接口:

  • ISysDeptService.java - +35行
  • SysDeptServiceImpl.java - +80行
2.3 远程服务API

文件: RemoteDeptService.java

新增接口:

  • 培训班查询方法定义(+35行)
  • 支持跨模块调用

3. ruoyi-backstage 模块 - 后台管理增强

变更文件: 13个文件,+389行

3.1 教室管理

实体扩展:

  • PtRoom.java - +14行
  • PtRoomBo.java - +14行
  • PtRoomVo.java - +14行

远程服务:

  • RemotePtRoomServiceImpl.java - +88行
    • 实现教室查询Dubbo接口
    • 支持跨模块调用教室信息

数据访问:

  • PtRoomMapper.xml - +3行
3.2 用户账户管理

远程服务实现:

  • RemoteUserAccountServiceImpl.java - +178行
    • 实现用户账户查询Dubbo接口
    • 支持账户余额查询
    • 支持账户流水查询

服务层:

  • IPtUserAccountService.java - +9行
  • PtUserAccountServiceImpl.java - +34行

数据访问:

  • PtUserAccountMapper.java - +6行
  • PtUserAccountMapper.xml - +22行
3.3 个人中心接口

控制器更新:

  • SelfController.java - +1行
  • TeacherController.java - +1行
  • TraineeController.java - +1行

学员VO扩展:

  • YcTraineeVo.java - +2行
3.4 其他优化

初始化任务:

  • InitRunner.java - +10行/-10行
    • 优化启动初始化逻辑

4. ruoyi-api 模块 - 远程服务接口扩展

变更文件: 5个文件,+121行

4.1 新增远程服务接口

教室服务:

  • RemotePtRoomService.java - +31行
    • 定义教室查询接口
    • 支持按条件查询教室信息

用户账户服务:

  • 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

作用:

  • 解耦 ruoyi-common-satokenruoyi-api-system 的循环依赖
  • 提供统一的分页返回格式
  • 替代 TableDataInfo 在API层的使用

5. 配置和文档

5.1 POM配置调整

根POM: pom.xml - +4行/-1行

  • 调整模块依赖关系
  • 优化构建配置

API POM:

  • ruoyi-api/pom.xml - +1行(新增ECS API模块)
  • ruoyi-api-backstage/pom.xml - +9行
  • ruoyi-api-bom/pom.xml - +7行
  • ruoyi-api-system/pom.xml - -1行(移除循环依赖)

Modules POM:

  • ruoyi-modules/pom.xml - +1行(新增ECS模块)
5.2 应用配置

认证服务: application.yml - +2行/-1行

  • 调整认证配置
5.3 项目文档

README: 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. 接口兼容: 远程服务接口需向后兼容

📝 建议提交策略

# 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分析