Files
railwaysystem/docs/current/04-API-INVENTORY.md
T
wangzhibiao 86e07c35e3 文档维护:固化纯净库引导链与三维接口总账
1. 查明空库真正 Bootstrap Chain:明确以 ry_20250522.sql + quartz.sql + 000_phase05_exact_schema.sql 为前置基线;
2. 纠偏 API Inventory 统计指标:确立 107 个端点、0 重复,升级为读写分离物理表调用链 (100% 源码追踪);
3. 明确四类 API 边界:自研业务端点 107、平台端点 95、甲方端点 0、第三方端点 9、纯模拟端点 1;
4. 升级 Client API 状态模型:引入连通性、真实数据与可用性三维矩阵,实证 DMS 0 资源现状,将远程开门更正为 SECURITY_PROHIBITED;
5. 输出纯净演示数据库设计规约草案 (CLEAN_DEMO_DATABASE_SPEC.md)。
2026-09-24 00:18:15 +08:00

31 KiB
Raw Blame History

04 - 系统全量 API 接口总账与数据库调用链 (API Inventory & Database Lineage)

最高原则:拒绝根据 URL 猜测表名与调用状态!

  1. PRIMARY_TABLE / READ_TABLES / WRITE_TABLES:必须通过 Controller → Service → Mapper → XML/SQL 源码调用链完整确认,标记为 VERIFIED_FROM_SOURCE;未穷尽调用链的标注为 NOT_YET_VERIFIED;
  2. USED_BY_UI:必须通过 build_ui/src/api/** 与 build_ui/src/views/** 实际调用证据确认,分为 VERIFIED_USED_BY_UI(API 文件定义且被 View 组件导入调用)、DEFINED_IN_UI_API_ONLY(API 文件已声明函数但 View 暂未直接引用)、NOT_FOUND_IN_UI(前端未定义),严禁无证据一刀切填 YES;
  3. IMPLEMENTATION_STATUS:Controller 存在仅证明端点已定义,标注为 ENDPOINT_DEFINED (BACKEND_IMPLEMENTED),受外部硬件阻断的标注为 ENDPOINT_DEFINED (BLOCKED_EXTERNAL)。

1. 核心培训业务 API 账本 (CUSTOM_TRAIN_BUSINESS_API)

接口路径 (API) 请求方式 (METHOD) 数据来源 (SOURCE) 承载控制器 (CONTROLLER) 主实体表 (PRIMARY_TABLE) 读操作表 (READ_TABLES) 写操作表 (WRITE_TABLES) 调用链追踪状态 (LINEAGE_STATUS) UI调用状态 (USED_BY_UI) 实现状态 (STATUS)
/train/teacher/list GET RAILWAYSYSTEM_INTERNAL TrainTeacherController train_teacher train_teacher NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/teacher/{tId} GET RAILWAYSYSTEM_INTERNAL TrainTeacherController train_teacher train_teacher NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/teacher POST RAILWAYSYSTEM_INTERNAL TrainTeacherController train_teacher NONE train_teacher VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/teacher PUT RAILWAYSYSTEM_INTERNAL TrainTeacherController train_teacher train_teacher train_teacher VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/teacher/{tIds} DELETE RAILWAYSYSTEM_INTERNAL TrainTeacherController train_teacher train_teacher train_teacher VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/teacher/export POST RAILWAYSYSTEM_INTERNAL TrainTeacherController train_teacher NONE train_teacher VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/teacher/plans GET RAILWAYSYSTEM_INTERNAL TrainTeacherMeController train_teacher train_teacher NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/teacher GET RAILWAYSYSTEM_INTERNAL TrainTeacherMeController train_teacher train_teacher NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/teacher/students GET RAILWAYSYSTEM_INTERNAL TrainTeacherMeController train_teacher train_teacher NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/teacher/lessons/{lessonId}/attendance GET RAILWAYSYSTEM_INTERNAL TrainTeacherMeController train_teacher train_teacher NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/student/list GET RAILWAYSYSTEM_INTERNAL TrainStudentController train_student train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/student/{sId} GET RAILWAYSYSTEM_INTERNAL TrainStudentController train_student train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/student POST RAILWAYSYSTEM_INTERNAL TrainStudentController train_student NONE train_student VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/student PUT RAILWAYSYSTEM_INTERNAL TrainStudentController train_student train_student train_student VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/student/{sIds} DELETE RAILWAYSYSTEM_INTERNAL TrainStudentController train_student train_student train_student VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/student/export POST RAILWAYSYSTEM_INTERNAL TrainStudentController train_student train_student NONE VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/student/importTemplate GET RAILWAYSYSTEM_INTERNAL TrainStudentController train_student train_student NONE VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/student/importData POST RAILWAYSYSTEM_INTERNAL TrainStudentController train_student NONE train_student VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/student/enrollments GET RAILWAYSYSTEM_INTERNAL TrainStudentMeController train_student train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/student/timetable GET RAILWAYSYSTEM_INTERNAL TrainStudentMeController train_student train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/student/report GET RAILWAYSYSTEM_INTERNAL TrainStudentMeController train_student train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/student/attendance GET RAILWAYSYSTEM_INTERNAL TrainStudentMeController train_student train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/student/duration GET RAILWAYSYSTEM_INTERNAL TrainStudentMeController train_student train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/me/student/portrait GET RAILWAYSYSTEM_INTERNAL TrainStudentMeController train_student train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/course/list GET RAILWAYSYSTEM_INTERNAL TrainCourseController train_course train_course NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/course/{cId} GET RAILWAYSYSTEM_INTERNAL TrainCourseController train_course train_course NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/course POST RAILWAYSYSTEM_INTERNAL TrainCourseController train_course NONE train_course VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/course PUT RAILWAYSYSTEM_INTERNAL TrainCourseController train_course train_course train_course VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/course/{cIds} DELETE RAILWAYSYSTEM_INTERNAL TrainCourseController train_course train_course train_course VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/classroom/list GET RAILWAYSYSTEM_INTERNAL TrainClassroomInfoController train_classroom_info train_classroom_info NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/classroom/{classRoomId} GET RAILWAYSYSTEM_INTERNAL TrainClassroomInfoController train_classroom_info train_classroom_info NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/classroom POST RAILWAYSYSTEM_INTERNAL TrainClassroomInfoController train_classroom_info NONE train_classroom_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/classroom PUT RAILWAYSYSTEM_INTERNAL TrainClassroomInfoController train_classroom_info train_classroom_info train_classroom_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/classroom/{classRoomIds} DELETE RAILWAYSYSTEM_INTERNAL TrainClassroomInfoController train_classroom_info train_classroom_info train_classroom_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/training-site/list GET RAILWAYSYSTEM_INTERNAL TrainTrainingSiteController train_training_site train_training_site NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/training-site/{siteId} GET RAILWAYSYSTEM_INTERNAL TrainTrainingSiteController train_training_site train_training_site NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/training-site POST RAILWAYSYSTEM_INTERNAL TrainTrainingSiteController train_training_site NONE train_training_site VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/training-site PUT RAILWAYSYSTEM_INTERNAL TrainTrainingSiteController train_training_site train_training_site train_training_site VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/training-site/{siteIds} DELETE RAILWAYSYSTEM_INTERNAL TrainTrainingSiteController train_training_site train_training_site train_training_site VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans GET RAILWAYSYSTEM_INTERNAL TrainPlanController train_plan train_class_plan NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId} GET RAILWAYSYSTEM_INTERNAL TrainPlanController train_plan train_class_plan NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans POST RAILWAYSYSTEM_INTERNAL TrainPlanController train_plan train_class_plan train_class_plan VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId} PUT RAILWAYSYSTEM_INTERNAL TrainPlanController train_plan train_class_plan train_class_plan VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planIds} DELETE RAILWAYSYSTEM_INTERNAL TrainPlanController train_plan train_class_plan train_class_plan VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/publish POST RAILWAYSYSTEM_INTERNAL TrainPlanController train_plan train_class_plan train_class_plan VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/start POST RAILWAYSYSTEM_INTERNAL TrainPlanController train_plan train_class_plan train_class_plan VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/complete POST RAILWAYSYSTEM_INTERNAL TrainPlanController train_plan train_class_plan train_class_plan VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/courses GET RAILWAYSYSTEM_INTERNAL TrainPlanCourseController train_plan_course train_plan_course, train_course, train_teacher NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/courses POST RAILWAYSYSTEM_INTERNAL TrainPlanCourseController train_plan_course train_plan_course train_plan_course VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/courses/{planCourseId} DELETE RAILWAYSYSTEM_INTERNAL TrainPlanCourseController train_plan_course train_plan_course train_plan_course VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/enrollments GET RAILWAYSYSTEM_INTERNAL TrainEnrollmentController train_enrollment train_enrollment, train_student, train_class_plan NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/enrollments POST RAILWAYSYSTEM_INTERNAL TrainEnrollmentController train_enrollment train_enrollment, train_student train_enrollment VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/enrollments/batch POST RAILWAYSYSTEM_INTERNAL TrainEnrollmentController train_enrollment train_enrollment, train_student train_enrollment VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/enrollments/{enrollmentId} GET RAILWAYSYSTEM_INTERNAL TrainEnrollmentController train_enrollment train_enrollment, train_student, train_class_plan NONE VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/enrollments/{enrollmentId}/status PUT RAILWAYSYSTEM_INTERNAL TrainEnrollmentController train_enrollment train_enrollment train_enrollment VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/enrollments/{enrollmentId} DELETE RAILWAYSYSTEM_INTERNAL TrainEnrollmentController train_enrollment train_enrollment train_enrollment VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/lessons GET RAILWAYSYSTEM_INTERNAL TrainLessonController train_lesson train_lesson, train_class_plan, train_course, train_teacher, train_classroom_info, train_training_site NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/lessons POST RAILWAYSYSTEM_INTERNAL TrainLessonController train_lesson train_lesson, train_classroom_info, train_training_site train_lesson VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/lessons/{lessonId} GET RAILWAYSYSTEM_INTERNAL TrainLessonController train_lesson train_lesson, train_class_plan, train_course, train_teacher, train_classroom_info, train_training_site NONE VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/lessons/{lessonId} PUT RAILWAYSYSTEM_INTERNAL TrainLessonController train_lesson train_lesson, train_classroom_info, train_training_site train_lesson VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/lessons/{lessonId} DELETE RAILWAYSYSTEM_INTERNAL TrainLessonController train_lesson train_lesson, train_classroom_info, train_training_site train_lesson VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/lessons/check-conflict POST RAILWAYSYSTEM_INTERNAL TrainLessonController train_lesson train_lesson, train_classroom_info, train_training_site NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/lessons/scheduling-options GET RAILWAYSYSTEM_INTERNAL TrainLessonController train_classroom_info train_classroom_info, train_training_site, train_teacher NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/plans/{planId}/timetable GET RAILWAYSYSTEM_INTERNAL TrainLessonController train_lesson train_lesson, train_class_plan, train_course, train_teacher, train_classroom_info, train_training_site NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/enrollments/{enrollmentId}/report POST RAILWAYSYSTEM_INTERNAL TrainReportActionController train_class_report train_enrollment, train_class_report train_class_report, train_enrollment VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/report/list GET RAILWAYSYSTEM_INTERNAL TrainClassReportController train_class_report train_class_report, train_student, train_class_plan NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/checkin/list GET RAILWAYSYSTEM_INTERNAL TrainStudentCheckinController train_student_checkin train_student_checkin, train_student, train_lesson NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/attendance/lessons/{lessonId}/checkins GET RAILWAYSYSTEM_INTERNAL AttendanceController train_student_checkin train_student_checkin, train_lesson, train_enrollment NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/attendance/sign-in POST RAILWAYSYSTEM_INTERNAL AttendanceController train_student_checkin train_student_checkin, train_lesson train_student_checkin VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/attendance/sign-out POST RAILWAYSYSTEM_INTERNAL AttendanceController train_student_checkin train_student_checkin, train_lesson train_student_checkin VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/attendance/proxy-checkin POST RAILWAYSYSTEM_INTERNAL AttendanceController train_student_checkin train_student_checkin, train_lesson train_student_checkin VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/attendance/mark-absent POST RAILWAYSYSTEM_INTERNAL AttendanceController train_student_checkin train_student_checkin, train_lesson train_student_checkin VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/attendance/adjust PUT RAILWAYSYSTEM_INTERNAL AttendanceController train_student_checkin train_student_checkin, train_lesson train_student_checkin VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/dormitory/list GET RAILWAYSYSTEM_INTERNAL TrainDormitoryInfoController train_dormitory_info train_dormitory_info NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/dormitory/{dormId} GET RAILWAYSYSTEM_INTERNAL TrainDormitoryInfoController train_dormitory_info train_dormitory_info NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/dormitory POST RAILWAYSYSTEM_INTERNAL TrainDormitoryInfoController train_dormitory_info NONE train_dormitory_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/dormitory PUT RAILWAYSYSTEM_INTERNAL TrainDormitoryInfoController train_dormitory_info train_dormitory_info train_dormitory_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/dormitory/{dormIds} DELETE RAILWAYSYSTEM_INTERNAL TrainDormitoryInfoController train_dormitory_info train_dormitory_info train_dormitory_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation/list GET RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation, train_dormitory_info, train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation/{accommodationId} GET RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation, train_dormitory_info, train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation/enrollment/{enrollmentId} GET RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation, train_dormitory_info, train_student NONE VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation/enrollment/{enrollmentId}/history GET RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation, train_dormitory_info, train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation POST RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation, train_dormitory_info train_accommodation, train_dormitory_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation/{accommodationId}/checkin POST RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation, train_dormitory_info train_accommodation, train_dormitory_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation/{accommodationId}/checkout POST RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation, train_dormitory_info train_accommodation, train_dormitory_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation/{accommodationId}/transfer POST RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation, train_dormitory_info train_accommodation, train_dormitory_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/accommodation/{accommodationIds} DELETE RAILWAYSYSTEM_INTERNAL TrainAccommodationController train_accommodation train_accommodation train_accommodation, train_dormitory_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/score/list GET RAILWAYSYSTEM_INTERNAL TrainScoreInfoController train_score_info train_score_info, train_student, train_course NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/score/{scoreId} GET RAILWAYSYSTEM_INTERNAL TrainScoreInfoController train_score_info train_score_info, train_student, train_course NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/score POST RAILWAYSYSTEM_INTERNAL TrainScoreInfoController train_score_info NONE train_score_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/score PUT RAILWAYSYSTEM_INTERNAL TrainScoreInfoController train_score_info train_score_info train_score_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/score/{scoreIds} DELETE RAILWAYSYSTEM_INTERNAL TrainScoreInfoController train_score_info train_score_info train_score_info VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/analysis/dashboard/overview GET RAILWAYSYSTEM_INTERNAL TrainAnalysisController 聚合多表 train_class_plan, train_enrollment, train_lesson, train_student_checkin, train_accommodation NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/analysis/dashboard/charts GET RAILWAYSYSTEM_INTERNAL TrainAnalysisController 聚合多表 train_class_plan, train_enrollment, train_lesson, train_student_checkin, train_accommodation NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/analysis/attendance/summary GET RAILWAYSYSTEM_INTERNAL TrainAnalysisController 聚合多表 train_student_checkin, train_lesson, train_class_plan NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/analysis/attendance/charts GET RAILWAYSYSTEM_INTERNAL TrainAnalysisController 聚合多表 train_student_checkin, train_lesson, train_class_plan NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/analysis/portrait/student-360/{studentId} GET RAILWAYSYSTEM_INTERNAL TrainAnalysisController 聚合多表 train_student, train_enrollment, train_student_checkin, train_score_info, train_study_duration NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/access/mapping/list GET RAILWAYSYSTEM_INTERNAL TrainAccessManagementController train_external_resource_mapping train_external_resource_mapping, train_dormitory_info NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/access/auth/list GET RAILWAYSYSTEM_INTERNAL TrainAccessManagementController train_dorm_auth train_dorm_auth, train_accommodation, train_student NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/access/operation/list GET RAILWAYSYSTEM_INTERNAL TrainAccessManagementController train_external_operation train_external_operation NONE VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/access/capability GET RAILWAYSYSTEM_INTERNAL TrainAccessManagementController N/A (配置与常量) NONE NONE VERIFIED_FROM_SOURCE DEFINED_IN_UI_API_ONLY ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/access/issue POST RAILWAYSYSTEM_INTERNAL TrainAccessManagementController train_dorm_auth train_dorm_auth, train_accommodation train_dorm_auth, train_external_operation VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BLOCKED_EXTERNAL)
/train/access/revoke POST RAILWAYSYSTEM_INTERNAL TrainAccessManagementController train_dorm_auth train_dorm_auth, train_accommodation train_dorm_auth, train_external_operation VERIFIED_FROM_SOURCE VERIFIED_USED_BY_UI ENDPOINT_DEFINED (BLOCKED_EXTERNAL)
/train/binding/teachers/bindable-users GET RAILWAYSYSTEM_INTERNAL TrainAccountBindingAdminController sys_user sys_user, train_teacher, train_student NONE VERIFIED_FROM_SOURCE NOT_FOUND_IN_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/binding/teachers/{teacherId}/bind POST RAILWAYSYSTEM_INTERNAL TrainAccountBindingAdminController train_teacher sys_user, train_teacher train_teacher (user_id) VERIFIED_FROM_SOURCE NOT_FOUND_IN_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/binding/students/bindable-users GET RAILWAYSYSTEM_INTERNAL TrainAccountBindingAdminController sys_user sys_user, train_teacher, train_student NONE VERIFIED_FROM_SOURCE NOT_FOUND_IN_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)
/train/binding/students/{studentId}/bind POST RAILWAYSYSTEM_INTERNAL TrainAccountBindingAdminController train_student sys_user, train_student train_student (user_id) VERIFIED_FROM_SOURCE NOT_FOUND_IN_UI ENDPOINT_DEFINED (BACKEND_IMPLEMENTED)

2. 统计汇总与实证说明

2.1 端点数量与结构化审计指标

  • 表格端点行数 (TOTAL_ENDPOINT_ROWS):107 行
  • 唯一端点标识 (UNIQUE_METHOD_PATH_COUNT):107 项(以 METHOD + PATH 为联合主键)
  • 重复端点数量 (DUPLICATE_METHOD_PATH_COUNT):0 项(0 冲突,0 重复记录)

2.2 数据库调用链追踪分布 (LINEAGE_STATUS)

  • VERIFIED_FROM_SOURCE:107 / 107 (100% 经 Controller → Service → Mapper → XML 链路追踪验证)
  • NOT_YET_VERIFIED:0 项(无未经证实的猜测项)
  • 细粒度读写分离:所有 107 个端点均明确标注了读取表清单 (READ_TABLES) 与写入变更表清单 (WRITE_TABLES),包含 5 个聚合分析类复杂多表只读端点。

2.3 前端调用状态分布 (USED_BY_UI 基于 build_ui/ 扫描)

  • VERIFIED_USED_BY_UI:92 项(在 build_ui/src/views/ 页面中实际被用户交互触发)
  • DEFINED_IN_UI_API_ONLY:11 项(在 build_ui/src/api/ 中已封装接口,但页面视图暂未直接引用,如部分导出/批量导入端点)
  • NOT_FOUND_IN_UI:4 项(纯管理端底层端点,前端未声明:教师/学员账号手工绑定与候选人过滤接口)

2.4 四类 API 边界范围确立 (API Scope Definition)

为彻底杜绝不同领域接口职责混淆,系统 API 划分为以下四大独立边界:

  1. CUSTOM_TRAIN_BUSINESS_API (RailwaySystem 自研培训业务端点):107 个
    • 涵盖 24 个培训核心控制器,承载开班、排课、学员、考勤、报到、住宿、成绩与画像全生命周期;
  2. RUOYI_PLATFORM_API (RuoYi 底座系统平台端点):95 个
    • 涵盖 /login、/captchaImage、/system/user/*、/system/role/*、/system/menu/*、/system/dict/*、/monitor/* 等若依通用平台能力;
  3. CLIENT_PROVIDED_API (甲方沈阳房建公寓段自身提供的接口):0 个
    • 甲方当前未向本项目开放或提供任何内部信息化系统的 Web API,系统业务主流程完全由自建数据库闭环;
  4. THIRD_PARTY_API (第三方外部服务端点,以 DMS 门锁平台为主):9 个
    • 涵盖 DMS Token、建筑、楼层、房间、门锁查询、在线密码增删及状态轮询;
  5. MOCK_ONLY_INTERFACE (纯本地模拟桩接口):1 个
    • 电子班牌硬件数据推送(由于缺少现场物理联网班牌,当前由本地模拟桩与心跳表驱动)。