3.0 KiB
3.0 KiB
代码调整记录 - 2025-01-27
学生销假编辑功能同步更新学生请假信息
修改时间
2025-01-27 10:30:00
修改内容
1. 修改学生销假服务实现类
文件: backend/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/XgStudentCancelLeaveServiceImpl.java
修改内容:
- 在
updateByBo方法中添加了@Transactional(rollbackFor = Exception.class)事务注解 - 添加了同步更新学生请假表中销假相关字段的逻辑
- 当销假信息更新成功后,根据
leaveId关联更新学生请假表中的以下字段:cancelStatus- 销假状态cancelTime- 销假时间cancelLocation- 销假地理位置cancelPhotoOssIds- 销假照片OSS文件IDcancelRemark- 销假备注
修改原因:
- 确保学生销假信息的修改能够同步更新到学生请假表中
- 保持两个表之间销假信息的一致性
- 避免数据不一致的问题
技术实现
事务管理
- 使用
@Transactional(rollbackFor = Exception.class)确保数据一致性 - 如果销假表更新失败或请假表更新失败,都会回滚整个事务
同步逻辑
if (flag) {
// 同步更新学生请假表中的销假相关字段
if (bo.getLeaveId() != null) {
XgStudentLeaveBo leaveBo = new XgStudentLeaveBo();
leaveBo.setId(bo.getLeaveId());
leaveBo.setCancelStatus(bo.getCancelStatus());
leaveBo.setCancelTime(bo.getCancelTime());
leaveBo.setCancelLocation(bo.getCancelLocation());
leaveBo.setCancelPhotoOssIds(bo.getCancelPhotoOssIds());
leaveBo.setCancelRemark(bo.getCancelRemark());
xgStudentLeaveService.updateByBo(leaveBo);
}
}
影响范围
- 学生销假管理: 编辑销假信息时会同步更新请假表
- 数据一致性: 确保销假信息在两个表中保持一致
- 业务流程: 不影响现有的销假业务流程
测试建议
- 测试编辑学生销假信息功能
- 验证学生请假表中的销假字段是否正确更新
- 测试事务回滚功能(模拟更新失败场景)
相关文件
backend/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/XgStudentCancelLeaveController.javabackend/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IXgStudentCancelLeaveService.javabackend/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/XgStudentCancelLeaveBo.java
2. 创建学生销假管理API文档
文件: docs/开发文档/API/学生销假管理API.md
创建内容:
- 完整的学生销假管理API接口文档
- 包含7个主要接口的详细说明
- 重点说明修改销假接口的同步更新功能
- 提供技术实现说明和使用示例
- 包含数据字典和注意事项
3. 更新API文档总览
文件: docs/开发文档/API/API文档总览.md
更新内容:
- 在API模块列表中添加学生销假管理API的链接
- 保持文档结构的一致性