Files
hzdyjs/docs/变更管理/code-adjust-record-2025-07-21-录取流程管理功能开发.md
T
2025-07-23 15:20:48 +08:00

4.7 KiB

录取流程管理功能开发记录

基本信息

  • 变更时间: 2025-07-21 14:30:25
  • 开发人员: 系统管理员
  • 功能模块: 招生录取流程管理
  • 变更类型: 新增功能

需求描述

开发录取流程管理的第二个功能"待我审核",要求根据用户角色权限,用户只能看到需要本角色审批的数据,并能进行审核操作。

变更内容

1. 后端服务开发

1.1 Service接口新增方法

在 IZsjyEnrollmentProcessService 接口中新增 queryMyAuditList 方法:

/**
 * 查询当前用户角色需要审核的数据列表
 *
 * @param pageQuery 分页参数
 * @return 待我审核分页列表
 */
TableDataInfo<ZsjyEnrollmentProcessVo> queryMyAuditList(PageQuery pageQuery);

1.2 Service实现类新增方法实现

在 ZsjyEnrollmentProcessServiceImpl 类中实现 queryMyAuditList 方法:

/**
 * 查询当前用户角色需要审核的数据列表
 *
 * @param pageQuery 分页参数
 * @return 待我审核分页列表
 */
@Override
public TableDataInfo<ZsjyEnrollmentProcessVo> queryMyAuditList(PageQuery pageQuery) {
    // 获取当前用户角色列表
    List<String> roleKeys = LoginHelper.getRolePermissionList();
    
    LambdaQueryWrapper<ZsjyEnrollmentProcess> lqw = Wrappers.lambdaQuery();
    
    // 根据角色过滤不同状态的数据
    if (roleKeys.contains("zsjy_info_auditor")) {
        // 信息审核员:查询待信息审核的数据
        lqw.eq(ZsjyEnrollmentProcess::getCurrentStatus, "0")
           .eq(ZsjyEnrollmentProcess::getInfoAuditStatus, "0");
    } else if (roleKeys.contains("zsjy_admission_processor")) {
        // 录取处理员:查询待录取处理的数据
        lqw.eq(ZsjyEnrollmentProcess::getCurrentStatus, "2")
           .eq(ZsjyEnrollmentProcess::getAdmissionStatus, "0");
    } else if (roleKeys.contains("zsjy_final_confirmer")) {
        // 最终确认员:查询待最终确认的数据
        lqw.eq(ZsjyEnrollmentProcess::getCurrentStatus, "3")
           .eq(ZsjyEnrollmentProcess::getFinalAuditStatus, "0");
    } else {
        // 其他角色:不返回数据
        return TableDataInfo.build(new Page<>());
    }
    
    // 只查询未完成的流程
    lqw.and(q -> q.eq(ZsjyEnrollmentProcess::getIsCompleted, 0).or().isNull(ZsjyEnrollmentProcess::getIsCompleted));
    
    // 按创建时间倒序排序
    lqw.orderByDesc(ZsjyEnrollmentProcess::getCreateTime);
    
    Page<ZsjyEnrollmentProcessVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
    return TableDataInfo.build(result);
}

1.3 Controller新增接口

在 ZsjyEnrollmentProcessController 类中新增接口:

/**
 * 查询当前用户角色需要审核的数据列表
 */
@SaCheckPermission("zsjy:enrollment:process:audit")
@GetMapping("/myAudit")
public TableDataInfo<ZsjyEnrollmentProcessVo> getMyAuditList(PageQuery pageQuery) {
    return enrollmentProcessService.queryMyAuditList(pageQuery);
}

2. 数据库相关

确保 ZsjyEnrollmentProcessMapper 接口和对应的XML文件正确配置,支持查询功能。

功能说明

角色与审核流程对应关系

  1. 信息审核员 (zsjy_info_auditor)

    • 负责审核状态为"待审核"(currentStatus=0)的数据
    • 使用 infoAudit 方法进行审核操作
  2. 录取处理员 (zsjy_admission_processor)

    • 负责处理状态为"录取处理中"(currentStatus=2)的数据
    • 使用 admissionProcess 方法进行处理操作
  3. 最终确认员 (zsjy_final_confirmer)

    • 负责确认状态为"待最终确认"(currentStatus=3)的数据
    • 使用 finalConfirm 方法进行确认操作

API接口说明

接口路径 请求方式 权限标识 功能描述
/zsjy/enrollment/process/myAudit GET zsjy:enrollment:process:audit 获取当前用户角色需要审核的数据列表
/zsjy/enrollment/process/infoAudit POST zsjy:enrollment:process:audit 信息审核操作
/zsjy/enrollment/process/admissionProcess POST zsjy:enrollment:process:admission 录取处理操作
/zsjy/enrollment/process/finalConfirm POST zsjy:enrollment:process:final 最终确认操作

测试验证

  1. 使用不同角色的用户登录系统
  2. 访问 /zsjy/enrollment/process/myAudit 接口
  3. 验证返回的数据是否符合当前用户角色的审核权限
  4. 测试对应的审核操作接口是否正常工作

注意事项

  1. 确保用户角色权限配置正确,特别是 zsjy_info_auditor、zsjy_admission_processor 和 zsjy_final_confirmer 三个角色
  2. 审核操作需要遵循流程顺序,不能跳过中间步骤
  3. 审核操作应记录操作人和操作时间,便于后续追踪