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)。
31 KiB
31 KiB
04 - 系统全量 API 接口总账与数据库调用链 (API Inventory & Database Lineage)
最高原则:拒绝根据 URL 猜测表名与调用状态!
PRIMARY_TABLE/READ_TABLES/WRITE_TABLES:必须通过Controller → Service → Mapper → XML/SQL源码调用链完整确认,标记为VERIFIED_FROM_SOURCE;未穷尽调用链的标注为NOT_YET_VERIFIED;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;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 划分为以下四大独立边界:
CUSTOM_TRAIN_BUSINESS_API(RailwaySystem 自研培训业务端点):107 个- 涵盖 24 个培训核心控制器,承载开班、排课、学员、考勤、报到、住宿、成绩与画像全生命周期;
RUOYI_PLATFORM_API(RuoYi 底座系统平台端点):95 个- 涵盖
/login、/captchaImage、/system/user/*、/system/role/*、/system/menu/*、/system/dict/*、/monitor/*等若依通用平台能力;
- 涵盖
CLIENT_PROVIDED_API(甲方沈阳房建公寓段自身提供的接口):0 个- 甲方当前未向本项目开放或提供任何内部信息化系统的 Web API,系统业务主流程完全由自建数据库闭环;
THIRD_PARTY_API(第三方外部服务端点,以 DMS 门锁平台为主):9 个- 涵盖 DMS Token、建筑、楼层、房间、门锁查询、在线密码增删及状态轮询;
MOCK_ONLY_INTERFACE(纯本地模拟桩接口):1 个- 电子班牌硬件数据推送(由于缺少现场物理联网班牌,当前由本地模拟桩与心跳表驱动)。