3.4 KiB
班级信息API修改记录
时间:2025-07-03 15:45:32
变更内容
1. 修改查询班级信息接口
变更描述
修改http://localhost/dev-api/classMsg/classMsg/{id}接口,确保返回xg_class_msg表的所有字段,并通过关联sys_dept表获取学院名称和专业名称。
修改文件
-
/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgClassMsgVo.java- 增加了所有xg_class_msg表中的字段
- 确保所有字段有适当的注释和ExcelProperty注解
-
/backend/ruoyi-modules/ruoyi-xg/src/main/resources/mapper/classmsg/XgClassMsgMapper.xml- 更新了ResultMap以映射所有字段
- 扩展了SQL查询以包含所有字段
- 保留了与sys_dept表的关联查询,以获取collegeName和majorName
变更原因
确保API返回班级信息表的完整数据,并通过关联查询获取学院和专业名称,提升前端展示效果和数据完整性。
测试验证
- 接口URL:
http://localhost/dev-api/classMsg/classMsg/1947889099849498626 - 返回状态码: 200
- 返回数据包含xg_class_msg表的所有字段
- collegeName和majorName字段已正确从sys_dept表获取
2. 修改班级创建功能,同步创建部门
变更描述
修改班级创建功能,使得在创建班级的同时,自动在sys_dept表中创建对应的部门记录,建立班级与部门的关联关系。
修改文件
/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/service/impl/XgClassMsgServiceImpl.java- 注入XgSysDeptMapper依赖
- 修改insertByBo方法,在班级创建成功后创建部门记录
- 设置部门的基本信息,包括名称、父部门、祖级列表、状态等
- 设置部门的联系信息和负责人
变更原因
根据业务需求,班级需要同时作为系统中的一个部门单位存在,便于后续权限管理和组织结构展示。
测试验证
- 创建班级后检查sys_dept表是否有对应的部门记录
- 验证部门名称是否与班级名称一致
- 验证部门的父部门ID是否为班级所属专业ID
- 验证部门的祖级列表是否正确构建
时间:2025-07-23 16:12:45
3. 修复XgSysDeptMapper缺少selectById方法映射的问题
变更描述
修复在创建班级时报错"Invalid bound statement (not found): org.dromara.xg.mapper.XgSysDeptMapper.selectById"的问题。在XgSysDeptMapper.xml中添加了selectById方法的SQL映射。
修改文件
/backend/ruoyi-modules/ruoyi-xg/src/main/resources/mapper/sysdept/XgSysDeptMapper.xml- 添加了SysDeptResult结果映射,包含部门表的所有字段
- 添加了selectById方法的SQL映射,用于根据ID查询部门信息
- 保留了原有的三个自定义方法映射
变更原因
在班级创建过程中,需要查询父部门(专业)信息以构建部门的祖级列表,但XgSysDeptMapper的XML文件中缺少selectById方法的映射,导致MyBatis无法找到对应的SQL语句。
技术分析
XgSysDeptMapper接口继承了BaseMapperPlus,应该继承了MyBatis-Plus的基础方法,但在XML中没有对应的映射。通常MyBatis-Plus会自动提供这些基础方法的实现,但在本项目中可能需要显式定义这些方法的SQL映射。
测试验证
- 重新测试创建班级功能,验证不再报错
- 确认班级创建的同时,能够成功创建对应的部门记录
- 验证部门的祖级列表是否正确构建