42 KiB
42 KiB
04 - 系统全量 API 接口总账与数据库调用链 (API Inventory & Database Lineage)
最高原则:拒绝根据 URL 猜测表名与调用状态!
PRIMARY_TABLE/READ_TABLES/WRITE_TABLES:必须通过Controller → Service → Mapper → XML/SQL源码调用链完整确认,标记为VERIFIED_FROM_SOURCE;严禁规则推导,严禁使用过时推测表名(如将物理表train_class_plan误写为train_plan);USED_BY_UI:必须通过build_ui/src/api/**与build_ui/src/views/**实际调用证据确认,分为VERIFIED_USED_BY_UI、DEFINED_IN_UI_API_ONLY、NOT_FOUND_IN_UI;IMPLEMENTATION_STATUS:Controller 存在证明端点已定义,标注为ENDPOINT_DEFINED (BACKEND_IMPLEMENTED),受外部硬件阻断的标注为ENDPOINT_DEFINED (BLOCKED_EXTERNAL)。
1. 核心培训业务 API 账本 (CUSTOM_TRAIN_BUSINESS_API — 107 个端点源码穿透验证)
| 接口路径 (API) | 请求方式 (METHOD) | 领域模块 | 控制器方法 (CTRL_METHOD) | 服务层方法 (SERVICE_METHOD) | 映射层方法 (MAPPER_METHOD) | 映射XML语句 (XML_STMT) | 主实体表 (PRIMARY_TABLE) | 读操作表 (READ_TABLES) | 写操作表 (WRITE_TABLES) | 调用链状态 (LINEAGE_STATUS) | UI调用状态 (USED_BY_UI) | 实现状态 (STATUS) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
/train/teacher/list |
GET |
Train |
list |
ITrainTeacherService.selectTrainTeacherList |
TrainTeacherMapper.selectTrainTeacherList |
selectTrainTeacherList |
train_teacher |
train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher/{tId} |
GET |
Train |
getInfo |
ITrainTeacherService.selectTrainTeacherByTId |
TrainTeacherMapper.selectTrainTeacherByTId |
selectTrainTeacherByTId |
train_teacher |
train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher |
POST |
Train |
add |
ITrainTeacherService.insertTrainTeacher |
TrainTeacherMapper.insertTrainTeacher |
insertTrainTeacher |
train_teacher |
NONE |
train_teacher |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher |
PUT |
Train |
edit |
ITrainTeacherService.updateTrainTeacher |
TrainTeacherMapper.updateTrainTeacher |
updateTrainTeacher |
train_teacher |
train_teacher |
train_teacher |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher/{tIds} |
DELETE |
Train |
remove |
ITrainTeacherService.deleteTrainTeacherByTIds |
TrainTeacherMapper.deleteTrainTeacherByTIds |
deleteTrainTeacherByTIds |
train_teacher |
train_teacher |
train_teacher |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher/export |
POST |
Train |
export |
ITrainTeacherService.selectTrainTeacherList |
TrainTeacherMapper.selectTrainTeacherList |
selectTrainTeacherList |
train_teacher |
train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/teacher/plans |
GET |
Train |
getMyPlans |
ITrainingIdentityService.assertTeacherIdentity |
TrainLessonMapper.selectPlansByTeacherId |
selectPlansByTeacherId |
train_class_plan |
train_class_plan, train_plan_course, train_lesson |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/teacher |
GET |
Train |
getTeacherProfile |
ITrainingIdentityService.assertTeacherIdentity |
TrainTeacherMapper.selectTrainTeacherByTId |
selectTrainTeacherByTId |
train_teacher |
train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/teacher/students |
GET |
Train |
getMyClassStudents |
TrainLessonMapper.countTeacherInPlan |
TrainEnrollmentMapper.selectEnrollmentItemList |
selectEnrollmentItemList |
train_enrollment |
train_enrollment, train_lesson, train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/teacher/lessons/{lessonId}/attendance |
GET |
Train |
getLessonAttendance |
TrainLessonMapper.selectTrainLessonById |
TrainStudentCheckinMapper.selectCheckinsByLessonId |
selectCheckinsByLessonId |
train_student_checkin |
train_lesson, train_student_checkin |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/list |
GET |
Train |
list |
ITrainStudentService.selectTrainStudentList |
TrainStudentMapper.selectTrainStudentList |
selectTrainStudentList |
train_student |
train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/{sId} |
GET |
Train |
getInfo |
ITrainStudentService.selectTrainStudentBySId |
TrainStudentMapper.selectTrainStudentBySId |
selectTrainStudentBySId |
train_student |
train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student |
POST |
Train |
add |
ITrainStudentService.insertTrainStudent |
TrainStudentMapper.insertTrainStudent |
insertTrainStudent |
train_student |
NONE |
train_student |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student |
PUT |
Train |
edit |
ITrainStudentService.updateTrainStudent |
TrainStudentMapper.updateTrainStudent |
updateTrainStudent |
train_student |
train_student |
train_student |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/{sIds} |
DELETE |
Train |
remove |
ITrainStudentService.deleteTrainStudentBySIds |
TrainStudentMapper.deleteTrainStudentBySIds |
deleteTrainStudentBySIds |
train_student |
train_student |
train_student |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/export |
POST |
Train |
export |
ITrainStudentService.selectTrainStudentList |
TrainStudentMapper.selectTrainStudentList |
selectTrainStudentList |
train_student |
train_student |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/importTemplate |
GET |
Train |
importTemplate |
ITrainStudentService.importTemplate |
NONE |
NONE |
train_student |
NONE |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/importData |
POST |
Train |
importData |
ITrainStudentService.importStudent |
TrainStudentMapper.insertTrainStudent |
insertTrainStudent |
train_student |
train_student |
train_student |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/student/enrollments |
GET |
Train |
getMyEnrollments |
ITrainingIdentityService.assertStudentIdentity |
TrainEnrollmentMapper.selectEnrollmentsByStudentId |
selectEnrollmentsByStudentId |
train_enrollment |
train_enrollment, train_class_plan |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/student/timetable |
GET |
Train |
getMyTimetable |
ITrainingIdentityService.assertStudentIdentity |
TrainLessonMapper.selectScheduleLessonsByStudentId |
selectScheduleLessonsByStudentId |
train_lesson |
train_lesson, train_plan_course, train_course, train_classroom_info, train_training_site |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/student/report |
GET |
Train |
getMyReport |
ITrainingIdentityService.assertStudentIdentity |
TrainClassReportMapper.selectLatestReportByStudentId |
selectLatestReportByStudentId |
train_class_report |
train_class_report, train_enrollment, train_class_plan |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/student/attendance |
GET |
Train |
getMyAttendance |
ITrainingIdentityService.assertStudentIdentity |
TrainStudentCheckinMapper.selectCheckinsByStudentId |
selectCheckinsByStudentId |
train_student_checkin |
train_student_checkin, train_lesson, train_enrollment |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/student/duration |
GET |
Train |
getMyDuration |
ITrainingIdentityService.assertStudentIdentity |
TrainStudyDurationMapper.selectDurationsByStudentId |
selectDurationsByStudentId |
train_study_duration |
train_study_duration, train_course |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/student/portrait |
GET |
Train |
getMyPortrait |
ITrainingIdentityService.assertStudentIdentity |
TrainStudentPortraitMapper.selectPortraitByStudentId |
selectPortraitByStudentId |
train_student_portrait |
train_student_portrait, train_enrollment, train_class_plan, train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course/list |
GET |
Train |
list |
ITrainCourseService.selectTrainCourseList |
TrainCourseMapper.selectTrainCourseList |
selectTrainCourseList |
train_course |
train_course |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course/{cId} |
GET |
Train |
getInfo |
ITrainCourseService.selectTrainCourseByCId |
TrainCourseMapper.selectTrainCourseByCId |
selectTrainCourseByCId |
train_course |
train_course |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course |
POST |
Train |
add |
ITrainCourseService.insertTrainCourse |
TrainCourseMapper.insertTrainCourse |
insertTrainCourse |
train_course |
NONE |
train_course |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course |
PUT |
Train |
edit |
ITrainCourseService.updateTrainCourse |
TrainCourseMapper.updateTrainCourse |
updateTrainCourse |
train_course |
train_course |
train_course |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course/{cIds} |
DELETE |
Train |
remove |
ITrainCourseService.deleteTrainCourseByCIds |
TrainCourseMapper.deleteTrainCourseByCIds |
deleteTrainCourseByCIds |
train_course |
train_course |
train_course |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/classroom/list |
GET |
Train |
list |
ITrainClassroomInfoService.selectTrainClassroomInfoList |
TrainClassroomInfoMapper.selectTrainClassroomInfoList |
selectTrainClassroomInfoList |
train_classroom_info |
train_classroom_info |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/classroom/{classRoomId} |
GET |
Train |
getInfo |
ITrainClassroomInfoService.selectTrainClassroomInfoByClassRoomId |
TrainClassroomInfoMapper.selectTrainClassroomInfoByClassRoomId |
selectTrainClassroomInfoByClassRoomId |
train_classroom_info |
train_classroom_info |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/classroom |
POST |
Train |
add |
ITrainClassroomInfoService.insertTrainClassroomInfo |
TrainClassroomInfoMapper.insertTrainClassroomInfo |
insertTrainClassroomInfo |
train_classroom_info |
NONE |
train_classroom_info |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/classroom |
PUT |
Train |
edit |
ITrainClassroomInfoService.updateTrainClassroomInfo |
TrainClassroomInfoMapper.updateTrainClassroomInfo |
updateTrainClassroomInfo |
train_classroom_info |
train_classroom_info |
train_classroom_info |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/classroom/{classRoomIds} |
DELETE |
Train |
remove |
ITrainClassroomInfoService.deleteTrainClassroomInfoByClassRoomIds |
TrainClassroomInfoMapper.deleteTrainClassroomInfoByClassRoomIds |
deleteTrainClassroomInfoByClassRoomIds |
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 |
Train |
list |
ITrainTrainingSiteService.selectTrainTrainingSiteList |
TrainTrainingSiteMapper.selectTrainTrainingSiteList |
selectTrainTrainingSiteList |
train_training_site |
train_training_site |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/training-site/{siteId} |
GET |
Train |
getInfo |
ITrainTrainingSiteService.selectTrainTrainingSiteBySiteId |
TrainTrainingSiteMapper.selectTrainTrainingSiteBySiteId |
selectTrainTrainingSiteBySiteId |
train_training_site |
train_training_site |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/training-site |
POST |
Train |
add |
ITrainTrainingSiteService.insertTrainTrainingSite |
TrainTrainingSiteMapper.insertTrainTrainingSite |
insertTrainTrainingSite |
train_training_site |
NONE |
train_training_site |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/training-site |
PUT |
Train |
edit |
ITrainTrainingSiteService.updateTrainTrainingSite |
TrainTrainingSiteMapper.updateTrainTrainingSite |
updateTrainTrainingSite |
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 |
Train |
remove |
ITrainTrainingSiteService.deleteTrainTrainingSiteBySiteIds |
TrainTrainingSiteMapper.deleteTrainTrainingSiteBySiteIds |
deleteTrainTrainingSiteBySiteIds |
train_training_site |
train_training_site |
train_training_site |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans |
GET |
Train |
list |
PlanAppService.selectPlanItemList |
TrainClassPlanMapper.selectTrainClassPlanList |
selectTrainClassPlanList |
train_class_plan |
train_class_plan, train_plan_course, train_enrollment |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId} |
GET |
Train |
getInfo |
ITrainClassPlanService.selectTrainClassPlanByPlanId |
TrainClassPlanMapper.selectTrainClassPlanByPlanId |
selectTrainClassPlanByPlanId |
train_class_plan |
train_class_plan |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans |
POST |
Train |
add |
PlanAppService.createPlan |
TrainClassPlanMapper.insertTrainClassPlan |
insertTrainClassPlan |
train_class_plan |
NONE |
train_class_plan |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId} |
PUT |
Train |
edit |
PlanAppService.updatePlan |
TrainClassPlanMapper.updateTrainClassPlan |
updateTrainClassPlan |
train_class_plan |
train_class_plan |
train_class_plan |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planIds} |
DELETE |
Train |
remove |
ITrainClassPlanService.deleteTrainClassPlanByPlanIds |
TrainClassPlanMapper.deleteTrainClassPlanByPlanIds |
deleteTrainClassPlanByPlanIds |
train_class_plan |
train_class_plan |
train_class_plan |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/publish |
POST |
Train |
publish |
PlanAppService.publishPlan |
TrainClassPlanMapper.updateTrainClassPlan |
updateTrainClassPlan |
train_class_plan |
train_class_plan |
train_class_plan |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/start |
POST |
Train |
start |
PlanAppService.startPlan |
TrainClassPlanMapper.updateTrainClassPlan |
updateTrainClassPlan |
train_class_plan |
train_class_plan |
train_class_plan |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/complete |
POST |
Train |
complete |
PlanAppService.completePlan |
TrainClassPlanMapper.updateTrainClassPlan |
updateTrainClassPlan |
train_class_plan |
train_class_plan, train_enrollment |
train_class_plan, train_enrollment |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/courses |
GET |
Train |
list |
PlanAppService.listCourses |
TrainPlanCourseMapper.selectCourseItemsByPlanId |
selectCourseItemsByPlanId |
train_plan_course |
train_plan_course, train_course |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/courses |
POST |
Train |
bind |
PlanAppService.bindCourses |
TrainPlanCourseMapper.insertTrainPlanCourse |
insertTrainPlanCourse |
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 |
Train |
unbind |
PlanAppService.unbindCourse |
TrainPlanCourseMapper.deleteTrainPlanCourseByPlanCourseId |
deleteTrainPlanCourseByPlanCourseId |
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 |
Train |
list |
EnrollmentAppService.listEnrollments |
TrainEnrollmentMapper.selectEnrollmentItemList |
selectEnrollmentItemList |
train_enrollment |
train_enrollment, train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/enrollments |
POST |
Train |
enroll |
EnrollmentAppService.enrollStudent |
TrainEnrollmentMapper.insertTrainEnrollment |
insertTrainEnrollment |
train_enrollment |
train_enrollment |
train_enrollment |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/enrollments/batch |
POST |
Train |
batchEnroll |
EnrollmentAppService.batchEnrollStudents |
TrainEnrollmentMapper.insertTrainEnrollment |
insertTrainEnrollment |
train_enrollment |
train_enrollment |
train_enrollment |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/enrollments/{enrollmentId} |
GET |
Train |
getInfo |
EnrollmentAppService.getEnrollmentDetail |
TrainEnrollmentMapper.selectEnrollmentItemById |
selectEnrollmentItemById |
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 |
Train |
updateStatus |
EnrollmentAppService.updateStatus |
TrainEnrollmentMapper.updateTrainEnrollment |
updateTrainEnrollment |
train_enrollment |
train_enrollment |
train_enrollment |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/enrollments/{enrollmentId} |
DELETE |
Train |
remove |
EnrollmentAppService.removeEnrollment |
TrainEnrollmentMapper.deleteTrainEnrollmentByEnrollmentId |
deleteTrainEnrollmentByEnrollmentId |
train_enrollment |
train_enrollment |
train_enrollment |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/lessons |
GET |
Train |
list |
SchedulingAppService.listLessons |
TrainLessonMapper.selectLessonItemsByPlanId |
selectLessonItemsByPlanId |
train_lesson |
train_lesson, train_plan_course, 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 |
Train |
schedule |
SchedulingAppService.scheduleLesson |
TrainLessonMapper.insertTrainLesson |
insertTrainLesson |
train_lesson |
train_lesson |
train_lesson |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/lessons/{lessonId} |
GET |
Train |
getInfo |
SchedulingAppService.getLessonDetail |
TrainLessonMapper.selectLessonItemById |
selectLessonItemById |
train_lesson |
train_lesson, train_plan_course, 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 |
Train |
update |
SchedulingAppService.updateLesson |
TrainLessonMapper.updateTrainLesson |
updateTrainLesson |
train_lesson |
train_lesson |
train_lesson |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/lessons/{lessonId} |
DELETE |
Train |
cancel |
SchedulingAppService.cancelLesson |
TrainLessonMapper.deleteTrainLessonByLessonId |
deleteTrainLessonByLessonId |
train_lesson |
train_lesson |
train_lesson |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/lessons/check-conflict |
POST |
Train |
checkConflict |
SchedulingAppService.checkConflict |
TrainLessonMapper.countTeacherConflicts |
countTeacherConflicts |
train_lesson |
train_lesson |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/lessons/scheduling-options |
GET |
Train |
getOptions |
SchedulingAppService.getSchedulingOptions |
TrainClassroomInfoMapper.selectTrainClassroomInfoList |
selectTrainClassroomInfoList |
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 |
Train |
getTimetable |
SchedulingAppService.getTimetable |
TrainLessonMapper.selectScheduleLessonsByPlanId |
selectScheduleLessonsByPlanId |
train_lesson |
train_lesson, train_plan_course, 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 |
Train |
report |
ITrainClassReportService.reportEnrollment |
TrainClassReportMapper.insertTrainClassReport |
insertTrainClassReport |
train_class_report |
train_enrollment, train_class_plan |
train_class_report |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/report/list |
GET |
Train |
list |
ITrainClassReportService.selectTrainClassReportList |
TrainClassReportMapper.selectTrainClassReportList |
selectTrainClassReportList |
train_class_report |
train_class_report, train_enrollment, train_student, train_class_plan |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/checkin/list |
GET |
Train |
list |
ITrainStudentCheckinService.selectTrainStudentCheckinList |
TrainStudentCheckinMapper.selectTrainStudentCheckinList |
selectTrainStudentCheckinList |
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 |
Train |
getLessonRoster |
AttendanceAppService.getLessonRoster |
TrainStudentCheckinMapper.selectCheckinsByLessonId |
selectCheckinsByLessonId |
train_student_checkin |
train_student_checkin, train_enrollment, train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/sign-in |
POST |
Train |
signIn |
AttendanceAppService.signIn |
TrainStudentCheckinMapper.insertTrainStudentCheckin |
insertTrainStudentCheckin |
train_student_checkin |
train_student_checkin |
train_student_checkin |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/sign-out |
POST |
Train |
signOut |
AttendanceAppService.signOut |
TrainStudentCheckinMapper.updateTrainStudentCheckin |
updateTrainStudentCheckin |
train_student_checkin |
train_student_checkin |
train_student_checkin |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/proxy-checkin |
POST |
Train |
signIn |
AttendanceAppService.signIn |
TrainStudentCheckinMapper.insertTrainStudentCheckin |
insertTrainStudentCheckin |
train_student_checkin |
train_student_checkin |
train_student_checkin |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/mark-absent |
POST |
Train |
markAbsence |
AttendanceAppService.markAbsence |
TrainStudentCheckinMapper.insertTrainStudentCheckin |
insertTrainStudentCheckin |
train_student_checkin |
train_student_checkin |
train_student_checkin |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/adjust |
PUT |
Train |
adjust |
AttendanceAppService.adjust |
TrainStudentCheckinMapper.updateTrainStudentCheckin |
updateTrainStudentCheckin |
train_student_checkin |
train_student_checkin |
train_student_checkin |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/dormitory/list |
GET |
Train |
list |
ITrainDormitoryInfoService.selectTrainDormitoryInfoList |
TrainDormitoryInfoMapper.selectTrainDormitoryInfoList |
selectTrainDormitoryInfoList |
train_dormitory_info |
train_dormitory_info |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/dormitory/{dormId} |
GET |
Train |
getInfo |
ITrainDormitoryInfoService.selectTrainDormitoryInfoByDormId |
TrainDormitoryInfoMapper.selectTrainDormitoryInfoByDormId |
selectTrainDormitoryInfoByDormId |
train_dormitory_info |
train_dormitory_info |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/dormitory |
POST |
Train |
add |
ITrainDormitoryInfoService.insertTrainDormitoryInfo |
TrainDormitoryInfoMapper.insertTrainDormitoryInfo |
insertTrainDormitoryInfo |
train_dormitory_info |
NONE |
train_dormitory_info |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/dormitory |
PUT |
Train |
edit |
ITrainDormitoryInfoService.updateTrainDormitoryInfo |
TrainDormitoryInfoMapper.updateTrainDormitoryInfo |
updateTrainDormitoryInfo |
train_dormitory_info |
train_dormitory_info |
train_dormitory_info |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/dormitory/{dormIds} |
DELETE |
Train |
remove |
ITrainDormitoryInfoService.deleteTrainDormitoryInfoByDormIds |
TrainDormitoryInfoMapper.deleteTrainDormitoryInfoByDormIds |
deleteTrainDormitoryInfoByDormIds |
train_dormitory_info |
train_dormitory_info |
train_dormitory_info |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/list |
GET |
Train |
list |
ITrainAccommodationService.selectTrainAccommodationList |
TrainAccommodationMapper.selectTrainAccommodationList |
selectTrainAccommodationList |
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 |
Train |
getInfo |
ITrainAccommodationService.selectTrainAccommodationByAccommodationId |
TrainAccommodationMapper.selectTrainAccommodationByAccommodationId |
selectTrainAccommodationByAccommodationId |
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 |
Train |
getByEnrollment |
ITrainAccommodationService.selectTrainAccommodationByEnrollmentId |
TrainAccommodationMapper.selectTrainAccommodationByEnrollmentId |
selectTrainAccommodationByEnrollmentId |
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 |
Train |
getHistory |
ITrainAccommodationService.selectAccommodationHistory |
TrainAccommodationMapper.selectAccommodationHistory |
selectAccommodationHistory |
train_accommodation |
train_accommodation, train_dormitory_info, train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation |
POST |
Train |
add |
ITrainAccommodationService.insertTrainAccommodation |
TrainAccommodationMapper.insertTrainAccommodation |
insertTrainAccommodation |
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 |
Train |
checkin |
ITrainAccommodationService.checkinAccommodation |
TrainAccommodationMapper.updateTrainAccommodation |
updateTrainAccommodation |
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 |
Train |
checkout |
ITrainAccommodationService.checkoutAccommodation |
TrainAccommodationMapper.updateTrainAccommodation |
updateTrainAccommodation |
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 |
Train |
transfer |
ITrainAccommodationService.transferAccommodation |
TrainAccommodationMapper.updateTrainAccommodation |
updateTrainAccommodation |
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 |
Train |
remove |
ITrainAccommodationService.deleteTrainAccommodationByAccommodationIds |
TrainAccommodationMapper.deleteTrainAccommodationByAccommodationIds |
deleteTrainAccommodationByAccommodationIds |
train_accommodation |
train_accommodation |
train_accommodation, train_dormitory_info |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score/list |
GET |
Train |
list |
ITrainScoreInfoService.selectTrainScoreInfoList |
TrainScoreInfoMapper.selectTrainScoreInfoList |
selectTrainScoreInfoList |
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 |
Train |
getInfo |
ITrainScoreInfoService.selectTrainScoreInfoByScoreId |
TrainScoreInfoMapper.selectTrainScoreInfoByScoreId |
selectTrainScoreInfoByScoreId |
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 |
Train |
add |
ITrainScoreInfoService.insertTrainScoreInfo |
TrainScoreInfoMapper.insertTrainScoreInfo |
insertTrainScoreInfo |
train_score_info |
NONE |
train_score_info |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score |
PUT |
Train |
edit |
ITrainScoreInfoService.updateTrainScoreInfo |
TrainScoreInfoMapper.updateTrainScoreInfo |
updateTrainScoreInfo |
train_score_info |
train_score_info |
train_score_info |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score/{scoreIds} |
DELETE |
Train |
remove |
ITrainScoreInfoService.deleteTrainScoreInfoByScoreIds |
TrainScoreInfoMapper.deleteTrainScoreInfoByScoreIds |
deleteTrainScoreInfoByScoreIds |
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 |
Train |
getDashboardOverview |
ITrainAnalysisService.getDashboardOverview |
TrainAnalysisMapper.selectDashboardOverview |
selectDashboardOverview |
train_class_plan |
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 |
Train |
getDashboardCharts |
ITrainAnalysisService.getDashboardCharts |
TrainAnalysisMapper.selectDashboardCharts |
selectDashboardCharts |
train_class_plan |
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 |
Train |
getAttendanceSummary |
ITrainAnalysisService.getAttendanceSummary |
TrainAnalysisMapper.selectAttendanceSummary |
selectAttendanceSummary |
train_student_checkin |
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 |
Train |
getAttendanceCharts |
ITrainAnalysisService.getAttendanceCharts |
TrainAnalysisMapper.selectAttendanceCharts |
selectAttendanceCharts |
train_student_checkin |
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 |
Train |
getStudent360 |
ITrainAnalysisService.getStudent360 |
TrainAnalysisMapper.selectStudent360 |
selectStudent360 |
train_student |
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 |
Train |
getDormMapping |
IExternalResourceMappingService.getActiveRoomMapping |
TrainExternalResourceMappingMapper.selectTrainExternalResourceMappingList |
selectTrainExternalResourceMappingList |
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 |
Train |
listAuth |
ITrainDormAuthService.selectTrainDormAuthList |
TrainDormAuthMapper.selectTrainDormAuthList |
selectTrainDormAuthList |
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 |
Train |
getOperationHistory |
IExternalOperationService.listOperationsByDoorAuthId |
TrainExternalOperationMapper.selectTrainExternalOperationList |
selectTrainExternalOperationList |
train_external_operation |
train_external_operation |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/capability |
GET |
Train |
getCapabilities |
N/A (配置与只读状态) |
NONE |
NONE |
N/A (配置与常量) |
NONE |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/issue |
POST |
Train |
issueCredential |
AccessAuthorizationOrchestrator.issueAuthorization |
TrainDormAuthMapper.updateTrainDormAuth |
updateTrainDormAuth |
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 |
Train |
revokeAuth |
AccessAuthorizationOrchestrator.revokeAuthorization |
TrainDormAuthMapper.updateTrainDormAuth |
updateTrainDormAuth |
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 |
Train |
getTeacherBindableUsers |
TrainAccountBindingAdminService.selectBindableUsers |
SysUserMapper.selectUserList |
selectUserList |
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 |
Train |
bindTeacherUser |
TrainAccountBindingAdminService.bindTeacherAccount |
TrainTeacherMapper.updateTrainTeacher |
updateTrainTeacher |
train_teacher |
sys_user, train_teacher |
train_teacher |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/binding/students/bindable-users |
GET |
Train |
getStudentBindableUsers |
TrainAccountBindingAdminService.selectBindableUsers |
SysUserMapper.selectUserList |
selectUserList |
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 |
Train |
bindStudentUser |
TrainAccountBindingAdminService.bindStudentAccount |
TrainStudentMapper.updateTrainStudent |
updateTrainStudent |
train_student |
sys_user, train_student |
train_student |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
2. 统计汇总与一致性强制检查 (Task F & Task G)
2.1 端点数量与结构化审计指标
- 内部业务端点总数 (
INTERNAL_API_COUNT):107 个 - 唯一端点标识 (
UNIQUE_METHOD_PATH_COUNT):107 项(以METHOD + PATH为联合主键,0 冲突,0 重复记录)
2.2 数据库调用链追踪分布 (LINEAGE_STATUS)
- 源码逐项验证通过 (
API_DB_LINEAGE_VERIFIED_COUNT):107 个 (100% 经 Controller → Service → Mapper → XML 链路追踪验证) - 规则启发式推导 (
API_DB_LINEAGE_HEURISTIC_COUNT):0 个 (彻底清零规则推导,全部端点均具备源码定位凭据) - 未经证实猜测量 (
API_DB_LINEAGE_UNVERIFIED_COUNT):0 个 - 已知表名纠偏完成:
- 彻底纠偏历史文档中的
train_plan误称,物理主表统一修正为实际数据库表名train_class_plan; - 彻底核验
train_student_portrait为真实物理业务表(定义于004_rebuild_business_tables.sql,由010_verify.sql强断言)。
- 彻底纠偏历史文档中的
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 — 概念分离)
CUSTOM_TRAIN_BUSINESS_API(RailwaySystem 自研培训业务端点):107 个- 涵盖开班、排课、学员、考勤、报到、住宿、成绩与画像全生命周期;
RUOYI_PLATFORM_API(RuoYi 底座系统平台端点):95 个- 涵盖
/login、/captchaImage、/system/user/*、/system/role/*、/system/menu/*、/system/dict/*、/monitor/*等通用平台能力;
- 涵盖
CLIENT_PROVIDED_API(甲方沈阳房建公寓段向项目交付的外部接口契约):27 个- 甲方正式提供的完整外部技术契约(详见 05A-CLIENT-PROVIDED-API-CATALOG.md),禁止再标记为 0 个;
DMS_VENDOR_API(由第三方 DMS 物联网厂商托管运营的接口):27 个- 实际运行于厂商 IoT 云管平台,与甲方交付契约完全对齐;
MOCK_ONLY_INTERFACE(纯本地模拟桩接口):1 个- 电子班牌硬件数据推送。
2.5 数据库与 API 调用链强制一致性检查 (Task G)
LINEAGE_TABLE_NOT_IN_DATABASE_CATALOG:0 项(所有 API 引用的表均存在于 03 数据库总账中)DATABASE_TABLE_NOT_REFERENCED_BY_ANY_API:5 项- 说明:
train_course_resource、train_electronic_board、train_resource、train_score_item、train_student_score5 张表暂未暴露于当前 107 个内部 HTTP API 中(如电子班牌由独立控制器处理,成绩 V2 细粒度表等待 C03 成绩闭环对接);
- 说明:
UNKNOWN_TABLE_REFERENCES:0 项(无任何未识别或猜测表名引用)API_DB_LINEAGE_FREEZE:YES