60 KiB
60 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);V2_SCORE_SCHEMA:成绩模块已完成底层 V2 架构平滑闭环,所有/train/score/**与/train/scoreinfo/**运行时底层均已切换至train_student_score+train_score_item,彻底废弃并清零对历史下线表train_score_info的任何运行时 SQL 调用。
1. 核心培训业务 API 账本 (CUSTOM_TRAIN_BUSINESS_API — 148 个端点源码穿透验证)
| 接口路径 (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/access/auth/accommodation/{accommodationId} |
GET |
Train |
TrainAccessManagementController.getAuthByAccommodationId |
TrainAccessManagementService.getAuthByAccommodationId |
TrainDormAuthMapper.selectByAccommodationId |
selectByAccommodationId |
train_dorm_auth |
train_dorm_auth |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/auth/list |
GET |
Train |
TrainAccessManagementController.listAuth |
TrainAccessManagementService.listAuth |
TrainDormAuthMapper.selectTrainDormAuthList |
selectTrainDormAuthList |
train_dorm_auth |
train_dorm_auth, train_student, train_accommodation, train_dormitory_info |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/auth/{authId} |
GET |
Train |
TrainAccessManagementController.getAuthDetail |
TrainAccessManagementService.getAuthDetail |
TrainDormAuthMapper.selectTrainDormAuthById |
selectTrainDormAuthById |
train_dorm_auth |
train_dorm_auth, train_student, train_accommodation |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/auth/{authId}/issue |
POST |
Train |
TrainAccessManagementController.issueCredential |
TrainAccessManagementService.issueCredential |
DmsAccessManagementService.issueCredential |
insertTrainExternalOperation |
train_dorm_auth |
train_dorm_auth, train_external_resource_mapping |
train_dorm_auth, train_external_operation |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BLOCKED_EXTERNAL) |
/train/access/auth/{authId}/revoke |
POST |
Train |
TrainAccessManagementController.revokeAuth |
TrainAccessManagementService.revokeAuth |
DmsAccessManagementService.revokeAuth |
insertTrainExternalOperation |
train_dorm_auth |
train_dorm_auth, train_external_resource_mapping |
train_dorm_auth, train_external_operation |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BLOCKED_EXTERNAL) |
/train/access/capabilities |
GET |
Train |
TrainAccessManagementController.getCapabilities |
TrainAccessManagementService.getCapabilities |
DmsAccessManagementService.getCapabilities |
NONE |
sys_config |
sys_config |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/mapping/bind-lock |
POST |
Train |
TrainAccessManagementController.bindLockMapping |
TrainAccessManagementService.bindLockMapping |
TrainExternalResourceMappingMapper.insertTrainExternalResourceMapping |
insertTrainExternalResourceMapping |
train_external_resource_mapping |
train_external_resource_mapping |
train_external_resource_mapping |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/mapping/bind-room |
POST |
Train |
TrainAccessManagementController.bindRoomMapping |
TrainAccessManagementService.bindRoomMapping |
TrainExternalResourceMappingMapper.insertTrainExternalResourceMapping |
insertTrainExternalResourceMapping |
train_external_resource_mapping |
train_external_resource_mapping |
train_external_resource_mapping |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/mapping/dorm/{dormId} |
GET |
Train |
TrainAccessManagementController.getDormMapping |
TrainAccessManagementService.getDormMapping |
TrainExternalResourceMappingMapper.selectByDormId |
selectByDormId |
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/mapping/{mappingId} |
DELETE |
Train |
TrainAccessManagementController.unbindMapping |
TrainAccessManagementService.unbindMapping |
TrainExternalResourceMappingMapper.deleteById |
deleteById |
train_external_resource_mapping |
train_external_resource_mapping |
train_external_resource_mapping |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/operations/{doorAuthId} |
GET |
Train |
TrainAccessManagementController.getOperationHistory |
TrainAccessManagementService.getOperationHistory |
TrainExternalOperationMapper.selectByDoorAuthId |
selectByDoorAuthId |
train_external_operation |
train_external_operation |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/access/reconcile/{enrollmentId} |
POST |
Train |
TrainAccessManagementController.manualReconcile |
TrainAccessManagementService.reconcileEnrollment |
TrainDormAuthMapper.updateTrainDormAuth |
updateTrainDormAuth |
train_dorm_auth |
train_dorm_auth, train_enrollment |
train_dorm_auth |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation |
POST |
Train |
TrainAccommodationController.add |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation |
PUT |
Train |
TrainAccommodationController.edit |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/enrollment/{enrollmentId} |
GET |
Train |
TrainAccommodationController.getByEnrollmentId |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/enrollment/{enrollmentId}/history |
GET |
Train |
TrainAccommodationController.getHistoryByEnrollmentId |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/list |
GET |
Train |
TrainAccommodationController.list |
TrainAccommodationService.list |
TrainAccommodationMapper.selectTrainAccommodationList |
selectTrainAccommodationList |
train_accommodation |
train_accommodation, train_dormitory_info, train_student, train_class_plan |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/{accommodationIds} |
DELETE |
Train |
TrainAccommodationController.remove |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/{accommodationId} |
GET |
Train |
TrainAccommodationController.getInfo |
TrainAccommodationService.getInfo |
TrainAccommodationMapper.selectTrainAccommodationById |
selectTrainAccommodationById |
train_accommodation |
train_accommodation |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/{accommodationId}/checkin |
POST |
Train |
TrainAccommodationController.checkIn |
TrainAccommodationService.checkIn |
TrainAccommodationMapper.updateTrainAccommodation |
updateTrainAccommodation |
train_accommodation |
train_accommodation |
train_accommodation |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/{accommodationId}/checkout |
POST |
Train |
TrainAccommodationController.checkOut |
TrainAccommodationService.checkOut |
TrainAccommodationMapper.updateTrainAccommodation |
updateTrainAccommodation |
train_accommodation |
train_accommodation, train_dormitory_info |
train_accommodation, train_dormitory_info |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/accommodation/{accommodationId}/transfer |
POST |
Train |
TrainAccommodationController.transfer |
TrainAccommodationService.transfer |
TrainAccommodationMapper.updateTrainAccommodation |
updateTrainAccommodation |
train_accommodation |
train_accommodation, train_dormitory_info |
train_accommodation, train_dormitory_info |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/analysis/attendance/charts |
GET |
Train |
TrainAnalysisController.getAttendanceCharts |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/analysis/attendance/summary |
GET |
Train |
TrainAnalysisController.getAttendanceSummary |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/analysis/dashboard/charts |
GET |
Train |
TrainAnalysisController.getDashboardCharts |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/analysis/dashboard/overview |
GET |
Train |
TrainAnalysisController.getDashboardOverview |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/analysis/portrait/student-360/{studentId} |
GET |
Train |
TrainAnalysisController.getStudent360 |
ITrainAnalysisService.getStudent360 |
TrainAnalysisMapper.countStudentScores |
countStudentScores |
train_student_score |
train_student, train_enrollment, train_student_score |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/lessons/{lessonId}/roster |
GET |
Train |
AttendanceController.getLessonRoster |
TrainAttendanceService.getLessonRoster |
TrainStudentCheckinMapper.selectRosterByLessonId |
selectRosterByLessonId |
train_student_checkin |
train_student_checkin, train_enrollment, train_student |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/mark-absence |
POST |
Train |
AttendanceController.markAbsence |
TrainAttendanceService.markAbsence |
TrainStudentCheckinMapper.insertStudentCheckin |
insertStudentCheckin |
train_student_checkin |
train_student_checkin, train_lesson, train_enrollment |
train_student_checkin |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/sign-in |
POST |
Train |
AttendanceController.signIn |
TrainAttendanceService.signIn |
TrainStudentCheckinMapper.insertStudentCheckin |
insertStudentCheckin |
train_student_checkin |
train_student_checkin, train_lesson, train_enrollment |
train_student_checkin |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/sign-out |
POST |
Train |
AttendanceController.signOut |
TrainAttendanceService.signOut |
TrainStudentCheckinMapper.updateStudentCheckin |
updateStudentCheckin |
train_student_checkin |
train_student_checkin, train_lesson |
train_student_checkin |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/attendance/{checkinId} |
PUT |
Train |
AttendanceController.adjust |
TrainAttendanceService.adjust |
TrainStudentCheckinMapper.updateStudentCheckin |
updateStudentCheckin |
train_student_checkin |
train_student_checkin |
train_student_checkin |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/board |
POST |
Train |
TrainElectronicBoardController.add |
ITrainElectronicBoardService.insertTrainElectronicBoard |
TrainElectronicBoardMapper.insertTrainElectronicBoard |
insertTrainElectronicBoard |
train_electronic_board |
NONE |
train_electronic_board |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/board |
PUT |
Train |
TrainElectronicBoardController.edit |
ITrainElectronicBoardService.updateTrainElectronicBoard |
TrainElectronicBoardMapper.updateTrainElectronicBoard |
updateTrainElectronicBoard |
train_electronic_board |
train_electronic_board |
train_electronic_board |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/board/export |
POST |
Train |
TrainElectronicBoardController.export |
ITrainElectronicBoardService.selectTrainElectronicBoardList |
TrainElectronicBoardMapper.selectTrainElectronicBoardList |
selectTrainElectronicBoardList |
train_electronic_board |
train_electronic_board |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/board/list |
GET |
Train |
TrainElectronicBoardController.list |
ITrainElectronicBoardService.selectTrainElectronicBoardList |
TrainElectronicBoardMapper.selectTrainElectronicBoardList |
selectTrainElectronicBoardList |
train_electronic_board |
train_electronic_board |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/board/{boardIds} |
DELETE |
Train |
TrainElectronicBoardController.remove |
ITrainElectronicBoardService.deleteTrainElectronicBoardByBoardIds |
TrainElectronicBoardMapper.deleteTrainElectronicBoardByBoardIds |
deleteTrainElectronicBoardByBoardIds |
train_electronic_board |
train_electronic_board |
train_electronic_board |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/board/{boardId} |
GET |
Train |
TrainElectronicBoardController.getInfo |
ITrainElectronicBoardService.selectTrainElectronicBoardByBoardId |
TrainElectronicBoardMapper.selectTrainElectronicBoardByBoardId |
selectTrainElectronicBoardByBoardId |
train_electronic_board |
train_electronic_board |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/checkin/export |
POST |
Train |
TrainStudentCheckinController.export |
ITrainStudentCheckinService.selectTrainStudentCheckinList |
TrainStudentCheckinMapper.selectTrainStudentCheckinList |
selectTrainStudentCheckinList |
train_student_checkin |
train_student_checkin |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/checkin/list |
GET |
Train |
TrainStudentCheckinController.list |
ITrainStudentCheckinService.selectTrainStudentCheckinList |
TrainStudentCheckinMapper.selectTrainStudentCheckinList |
selectTrainStudentCheckinList |
train_student_checkin |
train_student_checkin |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/checkin/{checkinId} |
GET |
Train |
TrainStudentCheckinController.getInfo |
ITrainStudentCheckinService.selectTrainStudentCheckinByCheckinId |
TrainStudentCheckinMapper.selectTrainStudentCheckinByCheckinId |
selectTrainStudentCheckinByCheckinId |
train_student_checkin |
train_student_checkin |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/classroom |
POST |
Train |
TrainClassroomInfoController.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/list |
GET |
Train |
TrainClassroomInfoController.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/{classRoomIds} |
DELETE |
Train |
TrainClassroomInfoController.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/classroom/{classRoomId} |
GET |
Train |
TrainClassroomInfoController.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/{classRoomId} |
PUT |
Train |
TrainClassroomInfoController.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/course |
POST |
Train |
TrainCourseController.add |
ITrainCourseService.insertTrainCourse |
TrainCourseMapper.insertTrainCourse |
insertTrainCourse |
train_course |
NONE |
train_course |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course/list |
GET |
Train |
TrainCourseController.list |
ITrainCourseService.selectTrainCourseList |
TrainCourseMapper.selectTrainCourseList |
selectTrainCourseList |
train_course |
train_course |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course/{cIds} |
DELETE |
Train |
TrainCourseController.remove |
ITrainCourseService.deleteTrainCourseByCIds |
TrainCourseMapper.deleteTrainCourseByCIds |
deleteTrainCourseByCIds |
train_course |
train_course |
train_course |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course/{cId} |
GET |
Train |
TrainCourseController.getInfo |
ITrainCourseService.selectTrainCourseByCId |
TrainCourseMapper.selectTrainCourseByCId |
selectTrainCourseByCId |
train_course |
train_course |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/course/{cId} |
PUT |
Train |
TrainCourseController.edit |
ITrainCourseService.updateTrainCourse |
TrainCourseMapper.updateTrainCourse |
updateTrainCourse |
train_course |
train_course |
train_course |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/dormitory |
POST |
Train |
TrainDormitoryInfoController.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/list |
GET |
Train |
TrainDormitoryInfoController.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/options |
GET |
Train |
TrainDormitoryInfoController.options |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/dormitory/{dormId} |
GET |
Train |
TrainDormitoryInfoController.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/duration/export |
POST |
Train |
TrainStudyDurationController.export |
ITrainStudyDurationService.selectTrainStudyDurationList |
TrainStudyDurationMapper.selectTrainStudyDurationList |
selectTrainStudyDurationList |
train_study_duration |
train_study_duration |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/duration/list |
GET |
Train |
TrainStudyDurationController.list |
ITrainStudyDurationService.selectTrainStudyDurationList |
TrainStudyDurationMapper.selectTrainStudyDurationList |
selectTrainStudyDurationList |
train_study_duration |
train_study_duration |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/duration/{durId} |
GET |
Train |
TrainStudyDurationController.getInfo |
ITrainStudyDurationService.selectTrainStudyDurationByDurId |
TrainStudyDurationMapper.selectTrainStudyDurationByDurId |
selectTrainStudyDurationByDurId |
train_study_duration |
train_study_duration |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/enrollments/{enrollmentId} |
DELETE |
Train |
TrainEnrollmentController.removeEnrollment |
ITrainEnrollmentService.deleteEnrollmentById |
TrainEnrollmentMapper.deleteEnrollmentById |
deleteEnrollmentById |
train_enrollment |
train_enrollment |
train_enrollment |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/enrollments/{enrollmentId} |
GET |
Train |
TrainEnrollmentController.getDetail |
ITrainEnrollmentService.selectEnrollmentById |
TrainEnrollmentMapper.selectEnrollmentById |
selectEnrollmentById |
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}/report |
POST |
Train |
TrainReportActionController.confirmReport |
TrainClassReportService.confirmReport |
TrainClassReportMapper.updateTrainClassReport |
updateTrainClassReport |
train_class_report |
train_class_report, train_enrollment |
train_class_report, train_enrollment |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/enrollments/{enrollmentId}/status |
PUT |
Train |
TrainEnrollmentController.updateStatus |
ITrainEnrollmentService.updateEnrollmentStatus |
TrainEnrollmentMapper.updateEnrollmentStatus |
updateEnrollmentStatus |
train_enrollment |
train_enrollment |
train_enrollment |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/lessons/check-conflict |
POST |
Train |
TrainLessonController.checkConflict |
LessonAppService.checkConflict |
TrainLessonMapper.checkConflict |
checkConflict |
train_lesson |
train_lesson |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/lessons/scheduling-options |
GET |
Train |
TrainLessonController.getSchedulingOptions |
LessonAppService.getSchedulingOptions |
TrainLessonMapper.selectOptions |
selectOptions |
train_lesson |
train_classroom_info, train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/lessons/{lessonId} |
DELETE |
Train |
TrainLessonController.removeLesson |
LessonAppService.deleteLesson |
TrainLessonMapper.deleteTrainLessonById |
deleteTrainLessonById |
train_lesson |
train_lesson |
train_lesson |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/lessons/{lessonId} |
PUT |
Train |
TrainLessonController.editLesson |
LessonAppService.updateLesson |
TrainLessonMapper.updateTrainLesson |
updateTrainLesson |
train_lesson |
train_lesson |
train_lesson |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/student |
GET |
Train |
TrainStudentMeController.getStudentProfile |
ITrainingIdentityService.assertStudentIdentity |
TrainStudentMapper.selectTrainStudentBySId |
selectTrainStudentBySId |
train_student |
train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/student/attendance |
GET |
Train |
TrainStudentMeController.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 |
TrainStudentMeController.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/enrollments |
GET |
Train |
TrainStudentMeController.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/portrait |
GET |
Train |
TrainStudentMeController.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/me/student/report |
GET |
Train |
TrainStudentMeController.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/timetable |
GET |
Train |
TrainStudentMeController.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 |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/teacher |
GET |
Train |
TrainTeacherMeController.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/lessons |
GET |
Train |
TrainTeacherMeController.getMyTimetable |
ITrainingIdentityService.assertTeacherIdentity |
TrainLessonMapper.selectScheduleLessonsByTeacherId |
selectScheduleLessonsByTeacherId |
train_lesson |
train_lesson, train_plan_course, train_course |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/teacher/lessons/{lessonId}/attendance |
GET |
Train |
TrainTeacherMeController.getLessonAttendance |
ITrainingIdentityService.assertTeacherIdentity |
TrainStudentCheckinMapper.selectCheckinsByLessonId |
selectCheckinsByLessonId |
train_student_checkin |
train_lesson, train_student_checkin |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/me/teacher/plans |
GET |
Train |
TrainTeacherMeController.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/students |
GET |
Train |
TrainTeacherMeController.getMyClassStudents |
ITrainingIdentityService.assertTeacherIdentity |
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/timetable |
GET |
Train |
TrainTeacherMeController.getMyTimetable |
ITrainingIdentityService.assertTeacherIdentity |
TrainLessonMapper.selectScheduleLessonsByTeacherId |
selectScheduleLessonsByTeacherId |
train_lesson |
train_lesson, train_plan_course, train_course |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans |
GET |
Train |
TrainPlanController.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 |
POST |
Train |
TrainPlanController.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} |
GET |
Train |
TrainPlanController.getInfo |
PlanAppService.selectPlanById |
TrainClassPlanMapper.selectTrainClassPlanByPlanId |
selectTrainClassPlanByPlanId |
train_class_plan |
train_class_plan |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId} |
PUT |
Train |
TrainPlanController.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/{planId}/complete |
POST |
Train |
TrainPlanController.complete |
PlanAppService.completePlan |
TrainClassPlanMapper.updateTrainClassPlan |
updateTrainClassPlan |
train_class_plan |
train_class_plan, train_enrollment |
train_class_plan, train_enrollment |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/courses |
GET |
Train |
TrainPlanCourseController.list |
PlanAppService.selectPlanCourses |
TrainPlanCourseMapper.selectPlanCourseList |
selectPlanCourseList |
train_plan_course |
train_plan_course, train_course, train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/courses |
POST |
Train |
TrainPlanCourseController.add |
PlanAppService.addPlanCourse |
TrainPlanCourseMapper.insertTrainPlanCourse |
insertTrainPlanCourse |
train_plan_course |
train_class_plan |
train_plan_course |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/courses/{planCourseId} |
DELETE |
Train |
TrainPlanCourseController.remove |
PlanAppService.removePlanCourse |
TrainPlanCourseMapper.deleteTrainPlanCourseById |
deleteTrainPlanCourseById |
train_plan_course |
train_plan_course |
train_plan_course |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/enrollments |
GET |
Train |
TrainEnrollmentController.listEnrollments |
ITrainEnrollmentService.selectEnrollmentList |
TrainEnrollmentMapper.selectEnrollmentList |
selectEnrollmentList |
train_enrollment |
train_enrollment, train_student |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/enrollments |
POST |
Train |
TrainEnrollmentController.addEnrollment |
ITrainEnrollmentService.insertEnrollment |
TrainEnrollmentMapper.insertEnrollment |
insertEnrollment |
train_enrollment |
train_class_plan, train_enrollment |
train_enrollment |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/enrollments/batch |
POST |
Train |
TrainEnrollmentController.batchImportEnrollments |
ITrainEnrollmentService.batchInsertEnrollments |
TrainEnrollmentMapper.batchInsertEnrollments |
batchInsertEnrollments |
train_enrollment |
train_class_plan |
train_enrollment |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/lessons |
POST |
Train |
TrainLessonController.addLesson |
LessonAppService.createLesson |
TrainLessonMapper.insertTrainLesson |
insertTrainLesson |
train_lesson |
train_class_plan, train_plan_course, train_lesson |
train_lesson |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/plans/{planId}/timetable |
GET |
Train |
TrainLessonController.getTimetable |
LessonAppService.getTimetable |
TrainLessonMapper.selectTimetableByPlanId |
selectTimetableByPlanId |
train_lesson |
train_lesson, train_plan_course, train_course |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/portrait/export |
POST |
Train |
TrainStudentPortraitController.export |
ITrainStudentPortraitService.selectTrainStudentPortraitList |
TrainStudentPortraitMapper.selectTrainStudentPortraitList |
selectTrainStudentPortraitList |
train_student_portrait |
train_student_portrait |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/portrait/list |
GET |
Train |
TrainStudentPortraitController.list |
ITrainStudentPortraitService.selectTrainStudentPortraitList |
TrainStudentPortraitMapper.selectTrainStudentPortraitList |
selectTrainStudentPortraitList |
train_student_portrait |
train_student_portrait |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/portrait/{portraitId} |
GET |
Train |
TrainStudentPortraitController.getInfo |
ITrainStudentPortraitService.selectTrainStudentPortraitByPortraitId |
TrainStudentPortraitMapper.selectTrainStudentPortraitByPortraitId |
selectTrainStudentPortraitByPortraitId |
train_student_portrait |
train_student_portrait |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/report/export |
POST |
Train |
TrainClassReportController.export |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/report/list |
GET |
Train |
TrainClassReportController.list |
ITrainClassReportService.selectTrainClassReportList |
TrainClassReportMapper.selectTrainClassReportList |
selectTrainClassReportList |
train_class_report |
train_class_report |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/report/{reportId} |
GET |
Train |
TrainClassReportController.getInfo |
ITrainClassReportService.selectTrainClassReportById |
TrainClassReportMapper.selectTrainClassReportById |
selectTrainClassReportById |
train_class_report |
train_class_report |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score |
POST |
Train |
TrainScoreInfoController.add |
ITrainScoreInfoService.insertTrainScoreInfo |
TrainScoreInfoMapper.insertStudentScoreRow |
insertStudentScoreRow |
train_student_score |
train_enrollment, train_score_item |
train_student_score, train_score_item, train_enrollment |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score |
PUT |
Train |
TrainScoreInfoController.edit |
ITrainScoreInfoService.updateTrainScoreInfo |
TrainScoreInfoMapper.updateStudentScoreRow |
updateStudentScoreRow |
train_student_score |
train_student_score, train_enrollment, train_score_item |
train_student_score, train_score_item, train_enrollment |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score/export |
POST |
Train |
TrainScoreInfoController.export |
ITrainScoreInfoService.selectTrainScoreInfoList |
TrainScoreInfoMapper.selectTrainScoreInfoList |
selectTrainScoreInfoList |
train_student_score |
train_student_score, train_score_item, train_enrollment, train_plan_course |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score/list |
GET |
Train |
TrainScoreInfoController.list |
ITrainScoreInfoService.selectTrainScoreInfoList |
TrainScoreInfoMapper.selectTrainScoreInfoList |
selectTrainScoreInfoList |
train_student_score |
train_student_score, train_score_item, train_enrollment, train_plan_course |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score/{scoreIds} |
DELETE |
Train |
TrainScoreInfoController.remove |
ITrainScoreInfoService.deleteTrainScoreInfoByScoreIds |
TrainScoreInfoMapper.deleteTrainScoreInfoByScoreIds |
deleteTrainScoreInfoByScoreIds |
train_student_score |
train_student_score |
train_student_score |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/score/{scoreId} |
GET |
Train |
TrainScoreInfoController.getInfo |
ITrainScoreInfoService.selectTrainScoreInfoByScoreId |
TrainScoreInfoMapper.selectTrainScoreInfoByScoreId |
selectTrainScoreInfoByScoreId |
train_student_score |
train_student_score, train_score_item, train_enrollment, train_plan_course |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/scoreinfo |
POST |
Train |
TrainScoreInfoController.add |
ITrainScoreInfoService.insertTrainScoreInfo |
TrainScoreInfoMapper.insertStudentScoreRow |
insertStudentScoreRow |
train_student_score |
train_enrollment, train_score_item |
train_student_score, train_score_item, train_enrollment |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/scoreinfo |
PUT |
Train |
TrainScoreInfoController.edit |
ITrainScoreInfoService.updateTrainScoreInfo |
TrainScoreInfoMapper.updateStudentScoreRow |
updateStudentScoreRow |
train_student_score |
train_student_score, train_enrollment, train_score_item |
train_student_score, train_score_item, train_enrollment |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/scoreinfo/export |
POST |
Train |
TrainScoreInfoController.export |
ITrainScoreInfoService.selectTrainScoreInfoList |
TrainScoreInfoMapper.selectTrainScoreInfoList |
selectTrainScoreInfoList |
train_student_score |
train_student_score, train_score_item, train_enrollment, train_plan_course |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/scoreinfo/list |
GET |
Train |
TrainScoreInfoController.list |
ITrainScoreInfoService.selectTrainScoreInfoList |
TrainScoreInfoMapper.selectTrainScoreInfoList |
selectTrainScoreInfoList |
train_student_score |
train_student_score, train_score_item, train_enrollment, train_plan_course |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/scoreinfo/{scoreIds} |
DELETE |
Train |
TrainScoreInfoController.remove |
ITrainScoreInfoService.deleteTrainScoreInfoByScoreIds |
TrainScoreInfoMapper.deleteTrainScoreInfoByScoreIds |
deleteTrainScoreInfoByScoreIds |
train_student_score |
train_student_score |
train_student_score |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/scoreinfo/{scoreId} |
GET |
Train |
TrainScoreInfoController.getInfo |
ITrainScoreInfoService.selectTrainScoreInfoByScoreId |
TrainScoreInfoMapper.selectTrainScoreInfoByScoreId |
selectTrainScoreInfoByScoreId |
train_student_score |
train_student_score, train_score_item, train_enrollment, train_plan_course |
NONE |
VERIFIED_FROM_SOURCE |
DEFINED_IN_UI_API_ONLY |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student |
POST |
Train |
TrainStudentController.add |
ITrainStudentService.insertTrainStudent |
TrainStudentMapper.insertTrainStudent |
insertTrainStudent |
train_student |
NONE |
train_student |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/bindable-users |
GET |
Train |
TrainAccountBindingAdminController.getStudentBindableUsers |
TrainAccountBindingAdminService.selectBindableUsers |
SysUserMapper.selectUserList |
selectUserList |
train_student |
sys_user, train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/list |
GET |
Train |
TrainStudentController.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} |
DELETE |
Train |
TrainStudentController.remove |
ITrainStudentService.deleteTrainStudentBySId |
TrainStudentMapper.deleteTrainStudentBySId |
deleteTrainStudentBySId |
train_student |
train_student |
train_student |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/{sId} |
GET |
Train |
TrainStudentController.getInfo |
ITrainStudentService.selectTrainStudentBySId |
TrainStudentMapper.selectTrainStudentBySId |
selectTrainStudentBySId |
train_student |
train_student |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/{sId}/user-binding |
DELETE |
Train |
TrainAccountBindingAdminController.unbindStudentUser |
TrainAccountBindingAdminService.unbindStudentAccount |
TrainStudentMapper.updateTrainStudent |
updateTrainStudent |
train_student |
train_student |
train_student |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/student/{sId}/user-binding |
POST |
Train |
TrainAccountBindingAdminController.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) |
/train/student/{sId}/user-binding |
PUT |
Train |
TrainAccountBindingAdminController.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) |
/train/students |
POST |
Train |
TrainStudentController.add |
ITrainStudentService.insertTrainStudent |
TrainStudentMapper.insertTrainStudent |
insertTrainStudent |
train_student |
NONE |
train_student |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/students/bindable-users |
GET |
Train |
TrainAccountBindingAdminController.getStudentBindableUsers |
TrainAccountBindingAdminService.selectBindableUsers |
SysUserMapper.selectUserList |
selectUserList |
train_student |
sys_user, train_student |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/students/list |
GET |
Train |
TrainStudentController.list |
ITrainStudentService.selectTrainStudentList |
TrainStudentMapper.selectTrainStudentList |
selectTrainStudentList |
train_student |
train_student |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/students/{sId} |
DELETE |
Train |
TrainStudentController.remove |
ITrainStudentService.deleteTrainStudentBySId |
TrainStudentMapper.deleteTrainStudentBySId |
deleteTrainStudentBySId |
train_student |
train_student |
train_student |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/students/{sId} |
GET |
Train |
TrainStudentController.getInfo |
ITrainStudentService.selectTrainStudentBySId |
TrainStudentMapper.selectTrainStudentBySId |
selectTrainStudentBySId |
train_student |
train_student |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/students/{sId}/user-binding |
DELETE |
Train |
TrainAccountBindingAdminController.unbindStudentUser |
TrainAccountBindingAdminService.unbindStudentAccount |
TrainStudentMapper.updateTrainStudent |
updateTrainStudent |
train_student |
train_student |
train_student |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/students/{sId}/user-binding |
POST |
Train |
TrainAccountBindingAdminController.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) |
/train/students/{sId}/user-binding |
PUT |
Train |
TrainAccountBindingAdminController.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) |
/train/teacher |
POST |
Train |
TrainTeacherController.add |
ITrainTeacherService.insertTrainTeacher |
TrainTeacherMapper.insertTrainTeacher |
insertTrainTeacher |
train_teacher |
NONE |
train_teacher |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher/bindable-users |
GET |
Train |
TrainAccountBindingAdminController.getTeacherBindableUsers |
TrainAccountBindingAdminService.selectBindableUsers |
SysUserMapper.selectUserList |
selectUserList |
train_teacher |
sys_user, train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher/list |
GET |
Train |
TrainTeacherController.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} |
DELETE |
Train |
TrainTeacherController.remove |
ITrainTeacherService.deleteTrainTeacherByTId |
TrainTeacherMapper.deleteTrainTeacherByTId |
deleteTrainTeacherByTId |
train_teacher |
train_teacher |
train_teacher |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher/{tId} |
GET |
Train |
TrainTeacherController.getInfo |
ITrainTeacherService.selectTrainTeacherByTId |
TrainTeacherMapper.selectTrainTeacherByTId |
selectTrainTeacherByTId |
train_teacher |
train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
VERIFIED_USED_BY_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher/{tId} |
PUT |
Train |
TrainTeacherController.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/{tId}/user-binding |
DELETE |
Train |
TrainAccountBindingAdminController.unbindTeacherUser |
TrainAccountBindingAdminService.unbindTeacherAccount |
TrainTeacherMapper.updateTrainTeacher |
updateTrainTeacher |
train_teacher |
train_teacher |
train_teacher |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teacher/{tId}/user-binding |
POST |
Train |
TrainAccountBindingAdminController.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/teacher/{tId}/user-binding |
PUT |
Train |
TrainAccountBindingAdminController.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/teachers |
POST |
Train |
TrainTeacherController.add |
ITrainTeacherService.insertTrainTeacher |
TrainTeacherMapper.insertTrainTeacher |
insertTrainTeacher |
train_teacher |
NONE |
train_teacher |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teachers/bindable-users |
GET |
Train |
TrainAccountBindingAdminController.getTeacherBindableUsers |
TrainAccountBindingAdminService.selectBindableUsers |
SysUserMapper.selectUserList |
selectUserList |
train_teacher |
sys_user, train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teachers/list |
GET |
Train |
TrainTeacherController.list |
ITrainTeacherService.selectTrainTeacherList |
TrainTeacherMapper.selectTrainTeacherList |
selectTrainTeacherList |
train_teacher |
train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teachers/{tId} |
DELETE |
Train |
TrainTeacherController.remove |
ITrainTeacherService.deleteTrainTeacherByTId |
TrainTeacherMapper.deleteTrainTeacherByTId |
deleteTrainTeacherByTId |
train_teacher |
train_teacher |
train_teacher |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teachers/{tId} |
GET |
Train |
TrainTeacherController.getInfo |
ITrainTeacherService.selectTrainTeacherByTId |
TrainTeacherMapper.selectTrainTeacherByTId |
selectTrainTeacherByTId |
train_teacher |
train_teacher |
NONE |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teachers/{tId} |
PUT |
Train |
TrainTeacherController.edit |
ITrainTeacherService.updateTrainTeacher |
TrainTeacherMapper.updateTrainTeacher |
updateTrainTeacher |
train_teacher |
train_teacher |
train_teacher |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teachers/{tId}/user-binding |
DELETE |
Train |
TrainAccountBindingAdminController.unbindTeacherUser |
TrainAccountBindingAdminService.unbindTeacherAccount |
TrainTeacherMapper.updateTrainTeacher |
updateTrainTeacher |
train_teacher |
train_teacher |
train_teacher |
VERIFIED_FROM_SOURCE |
NOT_FOUND_IN_UI |
ENDPOINT_DEFINED (BACKEND_IMPLEMENTED) |
/train/teachers/{tId}/user-binding |
POST |
Train |
TrainAccountBindingAdminController.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/teachers/{tId}/user-binding |
PUT |
Train |
TrainAccountBindingAdminController.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/training-site |
POST |
Train |
TrainTrainingSiteController.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/list |
GET |
Train |
TrainTrainingSiteController.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 |
TrainTrainingSiteController.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/{siteId} |
PUT |
Train |
TrainTrainingSiteController.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) |
2. 统计汇总与一致性强制检查 (Task F & Task G)
2.1 端点数量与结构化审计指标
- 内部业务端点总数 (
INTERNAL_API_COUNT):148 个 - 唯一端点标识 (
UNIQUE_METHOD_PATH_COUNT):148 项(以METHOD + PATH为联合主键,0 冲突,0 重复记录,覆盖 24 个培训业务控制器) - 代码与文档端点一致性 (
CODE_DOCUMENT_CONSISTENCY):CODE_ENDPOINT_COUNT: 148DOCUMENT_ENDPOINT_COUNT: 148CODE_NOT_IN_DOCUMENT: 0DOCUMENT_NOT_IN_CODE: 0FINAL_INTERNAL_API_COUNT: 148
2.2 数据库调用链追踪分布 (LINEAGE_STATUS)
- 源码逐项验证通过 (
API_DB_LINEAGE_VERIFIED_COUNT):148 个 (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强断言); - 彻底确认
train_score_info = LEGACY_DROPPED / NON_RUNTIME,成绩 API (/train/score/**,/train/scoreinfo/**) 与学生画像 (student-360) 运行时数据链路全部穿透至 V2train_student_score+train_score_item+train_enrollment。
- 彻底纠偏历史文档中的
2.3 前端调用状态分布 (USED_BY_UI 基于 build_ui/ 扫描)
VERIFIED_USED_BY_UI:82 项(在build_ui/src/views/页面中实际被用户交互触发)DEFINED_IN_UI_API_ONLY:16 项(在build_ui/src/api/中已封装接口,但页面视图暂未直接引用)NOT_FOUND_IN_UI:50 项(系统后端管理端点/别名端点/只读聚合端点)
2.4 四类 API 边界范围确立 (API Scope Definition — 概念分离)
CUSTOM_TRAIN_BUSINESS_API(RailwaySystem 自研培训业务端点):148 个- 涵盖开班、排课、学员、考勤、报到、住宿、门禁、成绩与画像全生命周期;
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:2 项- 说明:
train_course_resource、train_resource2 张课程资源从属表暂未通过独立端点直接暴露(通过课程主档及静态资源管理维护); train_score_item与train_student_score现已由/train/score/**及学员 360 画像直接读写并形成闭环;train_electronic_board由TrainElectronicBoardController6 个端点完整覆盖;
- 说明:
RUNTIME_REFERENCES_TO_TRAIN_SCORE_INFO:0 项(彻底杜绝运行时对已 drop 旧表的任何读写)UNKNOWN_TABLE_REFERENCES:0 项(无任何未识别或猜测表名引用)API_DB_LINEAGE_FREEZE:YES