4.3 KiB
4.3 KiB
学生考核审核功能说明
📋 功能概述
学生考核审核功能允许班主任查看和管理自己班级学生的考核申请,确保班主任只能查看已提交的申请,不能查看草稿状态的申请。
🔐 权限控制
班主任查看权限
- 权限标识:
assessment:approval:teacherClass - 数据范围: 仅限当前登录用户作为班主任的班级
- 状态限制: 只能查看已提交、班主任审核、已完成状态的申请
考核计划查看权限
- 权限标识:
assessment:approval:available - 数据范围: 所有进行中和已结束的考核计划
📊 数据过滤规则
班主任班级申请列表查询
接口信息
- URL:
GET /assessment/approval/teacherClass - 权限:
assessment:approval:teacherClass
查询条件
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| scheduleId | Long | 否 | 考核计划ID |
| studentNo | String | 否 | 学号(支持模糊查询) |
| studentName | String | 否 | 学生姓名(支持模糊查询) |
| status | String | 否 | 申请状态(2-已提交 3-班主任审核 6-已完成) |
| pageNum | Integer | 否 | 页码,默认1 |
| pageSize | Integer | 否 | 每页大小,默认10 |
强制过滤条件
-- 班主任只能查看自己班级的申请
AND a.class_id IN (
SELECT id FROM xg_class_msg
WHERE class_teacher_id = #{teacherId}
AND deleted = 0 AND class_status = '1'
)
-- 排除草稿状态,只查看已提交、班主任审核、已完成的申请
AND a.status IN ('2', '3', '6')
状态说明
| 状态码 | 状态名称 | 说明 |
|---|---|---|
| 1 | 草稿 | ❌ 班主任不可见 |
| 2 | 已提交 | ✅ 班主任可见 |
| 3 | 班主任审核 | ✅ 班主任可见 |
| 6 | 已完成 | ✅ 班主任可见 |
可用考核计划查询
接口信息
- URL:
GET /assessment/approval/available - 权限:
assessment:approval:available
查询条件
-- 只查询进行中和已结束的计划
WHERE deleted = 0
AND status IN ('2', '3')
ORDER BY start_time DESC
计划状态说明
| 状态码 | 状态名称 | 说明 |
|---|---|---|
| 1 | 未开始 | ❌ 不可用 |
| 2 | 进行中 | ✅ 可用 |
| 3 | 已结束 | ✅ 可用 |
🔍 业务逻辑
班主任查看流程
- 身份验证: 获取当前登录用户ID
- 班级查询: 查询该用户作为班主任的班级列表
- 申请过滤: 只查询这些班级下状态为已提交、班主任审核、已完成的申请
- 数据返回: 返回过滤后的申请列表
数据安全保证
- 权限隔离: 班主任只能查看自己班级的数据
- 状态过滤: 自动排除草稿状态的申请
- 数据完整性: 包含完整的申请信息、状态名称、审核人信息等
📝 使用示例
基本查询
GET /assessment/approval/teacherClass
按状态筛选
GET /assessment/approval/teacherClass?status=2
按学生姓名搜索
GET /assessment/approval/teacherClass?studentName=张三
分页查询
GET /assessment/approval/teacherClass?pageNum=1&pageSize=10
🧪 测试验证
测试脚本
使用 test/学生考核审核API测试脚本.py 进行功能验证:
cd test
python 学生考核审核API测试脚本.py
测试要点
- ✅ 验证班主任只能查看已提交、班主任审核、已完成状态的申请
- ✅ 验证草稿状态的申请不会被班主任看到
- ✅ 验证分页查询功能正常
- ✅ 验证筛选条件功能正常
- ✅ 验证只返回班主任自己班级的数据
⚠️ 注意事项
- 草稿状态保护: 班主任无法查看学生草稿状态的申请,保护学生隐私
- 权限验证: 所有接口都需要相应的权限标识
- 数据一致性: 确保返回的数据状态与业务规则一致
- 性能优化: 使用索引优化查询性能,避免全表扫描
📚 相关文档
文档版本: v1.0.0
创建时间: 2025-01-03
最后更新: 2025-01-03
维护人员: Cursor AI