11 KiB
11 KiB
培训接口盘点
1. 总体结论
在 RuoYi-Vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/train/ 找到 14 个 Controller、84 个映射。每个模块严格重复 6 个端点:列表、导出、详情、新增、修改、删除。
未发现培训业务动作接口、统计聚合接口、Excel 导入接口、外部设备/系统接入接口。report、checkin、board、auth、duration、score 的名称具有业务含义,但其 Controller 实现仍只是通用 CRUD。
2. 实际接口
| 模块 | Method | URL | Controller 方法 | 权限码 | 当前用途 |
|---|---|---|---|---|---|
| 教师 | GET | /train/teacher/list |
TrainTeacherController.list |
system:teacher:list |
纯CRUD:分页列表 |
| 教师 | POST | /train/teacher/export |
export |
system:teacher:export |
纯CRUD:Excel导出 |
| 教师 | GET | /train/teacher/{tId} |
getInfo |
system:teacher:query |
纯CRUD:详情 |
| 教师 | POST | /train/teacher |
add |
system:teacher:add |
纯CRUD:新增 |
| 教师 | PUT | /train/teacher |
edit |
system:teacher:edit |
纯CRUD:修改 |
| 教师 | DELETE | /train/teacher/{tIds} |
remove |
system:teacher:remove |
纯CRUD:批量物理删除 |
| 学员 | GET | /train/student/list |
TrainStudentController.list |
system:student:list |
纯CRUD:分页列表 |
| 学员 | POST | /train/student/export |
export |
system:student:export |
纯CRUD:Excel导出 |
| 学员 | GET | /train/student/{sId} |
getInfo |
system:student:query |
纯CRUD:详情 |
| 学员 | POST | /train/student |
add |
system:student:add |
纯CRUD:新增 |
| 学员 | PUT | /train/student |
edit |
system:student:edit |
纯CRUD:修改 |
| 学员 | DELETE | /train/student/{sIds} |
remove |
system:student:remove |
纯CRUD:批量物理删除 |
| 课程 | GET | /train/course/list |
TrainCourseController.list |
system:course:list |
纯CRUD:分页列表 |
| 课程 | POST | /train/course/export |
export |
system:course:export |
纯CRUD:Excel导出 |
| 课程 | GET | /train/course/{cId} |
getInfo |
system:course:query |
纯CRUD:详情 |
| 课程 | POST | /train/course |
add |
system:course:add |
纯CRUD:新增 |
| 课程 | PUT | /train/course |
edit |
system:course:edit |
纯CRUD:修改 |
| 课程 | DELETE | /train/course/{cIds} |
remove |
system:course:remove |
纯CRUD:批量物理删除 |
| 开班计划 | GET | /train/plan/list |
TrainClassPlanController.list |
system:plan:list |
纯CRUD:分页列表 |
| 开班计划 | POST | /train/plan/export |
export |
system:plan:export |
纯CRUD:Excel导出 |
| 开班计划 | GET | /train/plan/{planId} |
getInfo |
system:plan:query |
纯CRUD:详情 |
| 开班计划 | POST | /train/plan |
add |
system:plan:add |
纯CRUD:新增 |
| 开班计划 | PUT | /train/plan |
edit |
system:plan:edit |
纯CRUD:修改 |
| 开班计划 | DELETE | /train/plan/{planIds} |
remove |
system:plan:remove |
纯CRUD:批量物理删除 |
| 宿舍 | GET | /train/dorminfo/list;别名 /train/dormitory/list |
TrainDormitoryInfoController.list |
system:info:list |
纯CRUD:分页列表 |
| 宿舍 | POST | /train/dorminfo/export;别名 /train/dormitory/export |
export |
system:info:export |
纯CRUD:Excel导出 |
| 宿舍 | GET | /train/dorminfo/{dormId};别名 /train/dormitory/{dormId} |
getInfo |
system:info:query |
纯CRUD:详情 |
| 宿舍 | POST | /train/dorminfo;别名 /train/dormitory |
add |
system:info:add |
纯CRUD:新增 |
| 宿舍 | PUT | /train/dorminfo;别名 /train/dormitory |
edit |
system:info:edit |
纯CRUD:修改 |
| 宿舍 | DELETE | /train/dorminfo/{dormIds};别名 /train/dormitory/{dormIds} |
remove |
system:info:remove |
纯CRUD:批量物理删除 |
| 宿舍权限 | GET | /train/auth/list |
TrainDormAuthController.list |
system:auth:list |
纯CRUD:分页列表 |
| 宿舍权限 | POST | /train/auth/export |
export |
system:auth:export |
纯CRUD:Excel导出 |
| 宿舍权限 | GET | /train/auth/{authId} |
getInfo |
system:auth:query |
纯CRUD:详情 |
| 宿舍权限 | POST | /train/auth |
add |
system:auth:add |
纯CRUD:新增授权记录;不下发设备 |
| 宿舍权限 | PUT | /train/auth |
edit |
system:auth:edit |
纯CRUD:修改授权记录 |
| 宿舍权限 | DELETE | /train/auth/{authIds} |
remove |
system:auth:remove |
纯CRUD:批量物理删除 |
| 教室 | GET | /train/classroominfo/list;别名 /train/classroom/list、/train/info/list |
TrainClassroomInfoController.list |
system:info:list |
纯CRUD:分页列表 |
| 教室 | POST | /train/classroominfo/export;同前缀别名 |
export |
system:info:export |
纯CRUD:Excel导出 |
| 教室 | GET | /train/classroominfo/{classRoomId};同前缀别名 |
getInfo |
system:info:query |
纯CRUD:详情 |
| 教室 | POST | /train/classroominfo;同前缀别名 |
add |
system:info:add |
纯CRUD:新增 |
| 教室 | PUT | /train/classroominfo;同前缀别名 |
edit |
system:info:edit |
纯CRUD:修改 |
| 教室 | DELETE | /train/classroominfo/{classRoomIds};同前缀别名 |
remove |
system:info:remove |
纯CRUD:批量物理删除 |
| 实训场地 | GET | /train/site/list |
TrainTrainingSiteController.list |
system:site:list |
纯CRUD:分页列表 |
| 实训场地 | POST | /train/site/export |
export |
system:site:export |
纯CRUD:Excel导出 |
| 实训场地 | GET | /train/site/{siteId} |
getInfo |
system:site:query |
纯CRUD:详情 |
| 实训场地 | POST | /train/site |
add |
system:site:add |
纯CRUD:新增 |
| 实训场地 | PUT | /train/site |
edit |
system:site:edit |
纯CRUD:修改 |
| 实训场地 | DELETE | /train/site/{siteIds} |
remove |
system:site:remove |
纯CRUD:批量物理删除 |
| 开班报到 | GET | /train/report/list |
TrainClassReportController.list |
system:report:list |
纯CRUD:分页列表 |
| 开班报到 | POST | /train/report/export |
export |
system:report:export |
纯CRUD:Excel导出 |
| 开班报到 | GET | /train/report/{reportId} |
getInfo |
system:report:query |
纯CRUD:详情 |
| 开班报到 | POST | /train/report |
add |
system:report:add |
纯CRUD:新增报到记录;非设备报到动作 |
| 开班报到 | PUT | /train/report |
edit |
system:report:edit |
纯CRUD:修改记录 |
| 开班报到 | DELETE | /train/report/{reportIds} |
remove |
system:report:remove |
纯CRUD:批量物理删除 |
| 电子班牌 | GET | /train/board/list |
TrainElectronicBoardController.list |
system:board:list |
纯CRUD:分页列表 |
| 电子班牌 | POST | /train/board/export |
export |
system:board:export |
纯CRUD:Excel导出 |
| 电子班牌 | GET | /train/board/{boardId} |
getInfo |
system:board:query |
纯CRUD:详情 |
| 电子班牌 | POST | /train/board |
add |
system:board:add |
纯CRUD:登记设备;非接入接口 |
| 电子班牌 | PUT | /train/board |
edit |
system:board:edit |
纯CRUD:修改设备记录 |
| 电子班牌 | DELETE | /train/board/{boardIds} |
remove |
system:board:remove |
纯CRUD:批量物理删除 |
| 学员签到 | GET | /train/checkin/list |
TrainStudentCheckinController.list |
system:checkin:list |
纯CRUD:分页列表 |
| 学员签到 | POST | /train/checkin/export |
export |
system:checkin:export |
纯CRUD:Excel导出 |
| 学员签到 | GET | /train/checkin/{checkinId} |
getInfo |
system:checkin:query |
纯CRUD:详情 |
| 学员签到 | POST | /train/checkin |
add |
system:checkin:add |
纯CRUD:新增记录;非设备签到协议 |
| 学员签到 | PUT | /train/checkin |
edit |
system:checkin:edit |
纯CRUD:修改记录 |
| 学员签到 | DELETE | /train/checkin/{checkinIds} |
remove |
system:checkin:remove |
纯CRUD:批量物理删除 |
| 成绩 | GET | /train/scoreinfo/list;别名 /train/score/list |
TrainScoreInfoController.list |
system:info:list |
纯CRUD:分页列表 |
| 成绩 | POST | /train/scoreinfo/export;别名 /train/score/export |
export |
system:info:export |
纯CRUD:Excel导出 |
| 成绩 | GET | /train/scoreinfo/{scoreId};别名 /train/score/{scoreId} |
getInfo |
system:info:query |
纯CRUD:详情 |
| 成绩 | POST | /train/scoreinfo;别名 /train/score |
add |
system:info:add |
纯CRUD:新增;非批量导入/外部采集 |
| 成绩 | PUT | /train/scoreinfo;别名 /train/score |
edit |
system:info:edit |
纯CRUD:修改 |
| 成绩 | DELETE | /train/scoreinfo/{scoreIds};别名 /train/score/{scoreIds} |
remove |
system:info:remove |
纯CRUD:批量物理删除 |
| 学习时长 | GET | /train/duration/list |
TrainStudyDurationController.list |
system:duration:list |
纯CRUD:分页明细,不是统计聚合 |
| 学习时长 | POST | /train/duration/export |
export |
system:duration:export |
纯CRUD:Excel导出 |
| 学习时长 | GET | /train/duration/{durId} |
getInfo |
system:duration:query |
纯CRUD:详情 |
| 学习时长 | POST | /train/duration |
add |
system:duration:add |
纯CRUD:新增;非外部上报接口 |
| 学习时长 | PUT | /train/duration |
edit |
system:duration:edit |
纯CRUD:修改 |
| 学习时长 | DELETE | /train/duration/{durIds} |
remove |
system:duration:remove |
纯CRUD:批量物理删除 |
| 学员画像 | GET | /train/portrait/list |
TrainStudentPortraitController.list |
system:portrait:list |
纯CRUD:分页列表,不生成画像 |
| 学员画像 | POST | /train/portrait/export |
export |
system:portrait:export |
纯CRUD:Excel导出 |
| 学员画像 | GET | /train/portrait/{portraitId} |
getInfo |
system:portrait:query |
纯CRUD:详情 |
| 学员画像 | POST | /train/portrait |
add |
system:portrait:add |
纯CRUD:手工新增画像记录 |
| 学员画像 | PUT | /train/portrait |
edit |
system:portrait:edit |
纯CRUD:修改记录 |
| 学员画像 | DELETE | /train/portrait/{portraitIds} |
remove |
system:portrait:remove |
纯CRUD:批量物理删除 |
3. 接口类型统计
| 类型 | 数量 | 结论 |
|---|---|---|
| 纯 CRUD/导出接口 | 84 | 14 组 × 6 个 |
| 业务动作接口 | 0 | 未发现开班、报到确认、补签审批、成绩发布、画像生成等动作 |
| 外部系统接入接口 | 0 | 未发现设备心跳、签到回调、门锁下发回执、学习记录/成绩采集 |
| 统计接口 | 0 | 前端成绩视图仍调用普通列表;学习时长 Controller 也只返回明细分页 |
| 培训导入接口 | 0 | 只有若依 SysUserController 有系统用户导入 |
4. 需要注意的映射现状
- 教室、宿舍、成绩 Controller 的多前缀别名属于当前未提交改动。
- 教室页面当前使用
api/train/info.js;另有未跟踪classroom.js,形成两个 API 命名入口。 - 前端多数按钮权限使用
train:*,后端使用system:*;宿舍、教室、成绩后端甚至共享system:info:*。这会直接影响非超级管理员访问。