112 lines
11 KiB
Markdown
112 lines
11 KiB
Markdown
# 培训接口盘点
|
||||
|
|
|
|||
|
|
## 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:*`。这会直接影响非超级管理员访问。
|