Files
hzdyjs/docs/变更管理/code-adjust-record-2025-01-27-wuzilong.md
T
2025-08-06 01:32:11 +08:00

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文件ID
    • cancelRemark - 销假备注

修改原因:

  • 确保学生销假信息的修改能够同步更新到学生请假表中
  • 保持两个表之间销假信息的一致性
  • 避免数据不一致的问题

技术实现

事务管理

  • 使用 @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);
    }
}

影响范围

  • 学生销假管理: 编辑销假信息时会同步更新请假表
  • 数据一致性: 确保销假信息在两个表中保持一致
  • 业务流程: 不影响现有的销假业务流程

测试建议

  1. 测试编辑学生销假信息功能
  2. 验证学生请假表中的销假字段是否正确更新
  3. 测试事务回滚功能(模拟更新失败场景)

相关文件

  • backend/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/XgStudentCancelLeaveController.java
  • backend/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IXgStudentCancelLeaveService.java
  • backend/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的链接
  • 保持文档结构的一致性