学院审核模块API文档.md 6.7 KB

勤工俭学申请学院审核模块 API文档

模块概述

学院审核模块专门为学院审核人员提供勤工俭学申请的审核功能,具有以下特点:

  • 权限控制:只能查看和审核本学院学生的申请
  • 数据隔离:基于用户关联的学院ID实现数据过滤
  • 完整功能:包含查询、审核、批量审核、统计等功能

基础信息

  • 模块路径:/jcbt/workStudyApplicationCollegeReview
  • 权限前缀:jcbt:workStudyApplication:collegeReview
  • Controller类:JcbtWorkStudyApplicationCollegeReviewController

API接口列表

1. 查询接口

1.1 查询本学院待审核申请列表

接口地址:GET /jcbt/workStudyApplicationCollegeReview/pendingList

权限要求:jcbt:workStudyApplication:collegeReview

请求参数:

  • 继承 JcbtWorkStudyApplicationBo 的所有查询参数
  • 继承 PageQuery 的分页参数

响应数据:

{
  "code": 200,
  "msg": "操作成功",
  "rows": [
    {
      "id": 1,
      "positionId": 100,
      "positionName": "图书馆管理员",
      "studentName": "张三",
      "studentNo": "2021001",
      "collegeId": 1,
      "collegeName": "计算机学院",
      "majorName": "软件工程",
      "grade": "2021",
      "className": "软工2101",
      "status": "SUBMITTED",
      "applicationDate": "2025-01-13 10:00:00"
    }
  ],
  "total": 10
}

1.2 查询本学院所有申请列表

接口地址:GET /jcbt/workStudyApplicationCollegeReview/list

权限要求:jcbt:workStudyApplication:collegeReview

请求参数:

  • 支持状态筛选,默认排除草稿状态
  • 支持所有 JcbtWorkStudyApplicationBo 的查询条件

响应数据:与待审核列表格式相同

1.3 获取本学院申请详情

接口地址:GET /jcbt/workStudyApplicationCollegeReview/{id}

权限要求:jcbt:workStudyApplication:collegeReview

路径参数:

  • id:申请ID

响应数据:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "positionId": 100,
    "positionName": "图书馆管理员",
    "studentName": "张三",
    "studentNo": "2021001",
    "collegeId": 1,
    "collegeName": "计算机学院",
    "workExperience": "曾在校内书店兼职半年",
    "applicationReason": "希望通过勤工俭学锻炼自己...",
    "status": "SUBMITTED",
    "applicationDate": "2025-01-13 10:00:00"
  }
}

2. 审核操作接口

2.1 学院审核

接口地址:POST /jcbt/workStudyApplicationCollegeReview/review

权限要求:jcbt:workStudyApplication:collegeReview

请求体:

{
  "applicationId": 1,
  "reviewResult": "APPROVED",
  "reviewComment": "符合要求,同意申请"
}

请求参数说明:

  • applicationId:申请ID(必填)
  • reviewResult:审核结果,可选值:APPROVED(通过)、REJECTED(拒绝)
  • reviewComment:审核意见

响应数据:

{
  "code": 200,
  "msg": "审核成功"
}

2.2 批量学院审核

接口地址:POST /jcbt/workStudyApplicationCollegeReview/batchReview

权限要求:jcbt:workStudyApplication:collegeReview

请求参数:

  • ids:申请ID列表(RequestBody,JSON数组)
  • reviewResult:审核结果(RequestParam)
  • reviewComment:审核意见(RequestParam)

请求示例:

POST /jcbt/workStudyApplicationCollegeReview/batchReview?reviewResult=APPROVED&reviewComment=批量审核通过

RequestBody: [1, 2, 3, 4, 5]

响应数据:

{
  "code": 200,
  "msg": "批量审核成功"
}

3. 统计分析接口

3.1 获取本学院申请统计信息

接口地址:GET /jcbt/workStudyApplicationCollegeReview/statistics

权限要求:jcbt:workStudyApplication:collegeReview

响应数据:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "pendingCount": 15,
    "approvedCount": 28,
    "rejectedCount": 5,
    "finalApprovedCount": 25,
    "totalCount": 73
  }
}

字段说明:

  • pendingCount:待审核数量(已提交状态)
  • approvedCount:学院审核通过数量
  • rejectedCount:学院审核拒绝数量
  • finalApprovedCount:最终通过数量
  • totalCount:总申请数量

3.2 获取可用选项

接口地址:GET /jcbt/workStudyApplicationCollegeReview/options

权限要求:jcbt:workStudyApplication:collegeReview

响应数据:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "statusOptions": [
      {"label": "已提交", "value": "SUBMITTED"},
      {"label": "学院审核通过", "value": "COLLEGE_APPROVED"},
      {"label": "学院审核拒绝", "value": "COLLEGE_REJECTED"},
      {"label": "学生处审核通过", "value": "FINAL_APPROVED"},
      {"label": "学生处审核拒绝", "value": "FINAL_REJECTED"},
      {"label": "已取消", "value": "CANCELLED"}
    ],
    "reviewStatusOptions": [
      {"label": "待审核", "value": "PENDING"},
      {"label": "审核通过", "value": "APPROVED"},
      {"label": "审核拒绝", "value": "REJECTED"}
    ]
  }
}

权限控制机制

学院权限获取

系统通过以下方式获取当前用户的学院ID:

  1. 学生用户:通过 IXgStudentMsgService.queryByUserId() 获取学生信息中的学院ID
  2. 教师用户:预留扩展接口,可通过教师信息获取学院ID
  3. 其他用户:需要在 getCurrentUserCollegeId() 方法中扩展逻辑

数据过滤规则

  • 所有查询接口自动添加学院ID过滤条件
  • 审核操作前检查申请是否属于当前用户学院
  • 批量操作前逐一检查权限

错误处理

  • 用户没有学院关联信息时返回空列表或错误提示
  • 学院ID格式错误时记录日志并返回错误
  • 无权操作的申请返回权限错误

状态流转

SUBMITTED (已提交)
    ↓ 学院审核
    ├── COLLEGE_APPROVED (学院审核通过) → 等待学生处审核
    └── COLLEGE_REJECTED (学院审核拒绝) → 流程结束

使用说明

  1. 权限配置:执行 学院审核模块权限配置.sql 创建相关权限
  2. 角色分配:为学院审核人员分配"学院审核员"角色
  3. 数据关联:确保审核人员在系统中有学院关联信息

注意事项

  1. 数据隔离:严格按学院隔离数据,确保权限安全
  2. 类型转换:学生信息中的collegeId是String类型,需要转换为Long类型
  3. 扩展性:getCurrentUserCollegeId()方法可根据实际需求扩展
  4. 日志记录:重要操作都有日志记录,便于问题排查

开发时间

  • 创建时间:2025-01-13
  • 开发人员:ruoyi
  • 版本:v1.0