Files
railwaysystem/docs/codebase-audit/04_api_inventory.md

11 KiB
Raw Permalink Blame History

培训接口盘点

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:*。这会直接影响非超级管理员访问。