9.2 KiB
9.2 KiB
RailwaySystem 阶段 B 代码级事实抽取核验任务书 (Code Verification Checklist)
任务性质: 事实抽取任务书 (严格禁止预设主观猜测答案,所有结论必须从源码提取)
指派对象: Codex Agent (或后端/前端代码专家)
制定人: Documentation Architect
核验代码基线分支:integration/wave2-20260914
基线 Commit (命令实测值):196c6c47c70330119693f2ab7a6c35b8a22d5300(短哈希196c6c47)
工作区 HEAD:87322511c78e9109c7fe5af000d3db74b5c6cdfc
核验目标: 为编写各模块正式技术文档 (docs/modules/*.md) 提供 100% 取自源码的确定性事实支撑,杜绝文档与真实实现脱节。
一、核验规范与执行铁律
- 事实抽取原则:所有任务项均为“从代码提取真实事实”,Codex 回答时必须给出物理源码文件路径与具体代码行号。
- 拒绝猜测与补齐:若某特性在源码中尚未实现或属于历史遗留,如实记录为“代码未实现”或“遗留实现”,严禁脑补业务含义。
- 标记规范:
- 经源码确认的事实,标注为
[CODE_VERIFIED]。 - 依赖真实服务启动与浏览器交互的条目,标注为
[RUNTIME_PENDING]。
- 经源码确认的事实,标注为
二、逐模块代码级事实抽取任务
1. 培训计划模块 (Plan)
[VERIFY_WITH_CODE]表结构与实体映射:- 从
train_class_plan表 DDL、实体类TrainClassPlan.java及TrainClassPlanMapper.xml中提取全部字段列表,确认实体属性与数据库列的映射关系。
- 从
[VERIFY_WITH_CODE]Controller 路由与契约:- 从
TrainPlanController.java中提取@RequestMapping基础路径。 - 提取列表查询、详情查询、创建计划、更新计划、结班操作的精确 URL 路径、HTTP Method、权限字符 (
@ss.hasPermi) 与出入参对象类型。
- 从
[VERIFY_WITH_CODE]状态机枚举与状态迁移:- 从
TrainClassPlan.java、PlanCreateDTO.java、PlanUpdateDTO.java、TrainPlanServiceImpl.java以及前端build_ui/src/views/train/plan/index.vue中提取plan_status全部真实枚举值。 - 提取代码中实际实现的计划状态迁移规则与拦截逻辑(包括前端何时锁定
isPlanLocked,后端在哪些状态下禁止修改或结班)。
- 从
2. 本期课程模块 (PlanCourse)
[VERIFY_WITH_CODE]Controller 路由与契约:- 从
TrainPlanCourseController.java提取查询本期课程、新增本期课程、移除本期课程的真实 URL 路径、HTTP Method 与权限字符。
- 从
[VERIFY_WITH_CODE]业务规则与约束:- 从
TrainPlanCourseServiceImpl.java中提取添加与移除本期课程时的前置校验逻辑(例如:计划状态校验、讲师指派校验、排课关联阻断校验)。
- 从
3. 参训人员管理 (Enrollment)
[VERIFY_WITH_CODE]sourceType 真实枚举核验:- 从
EnrollmentAddDTO.java、EnrollmentCreateDTO.java、TrainEnrollment.java以及前端EnrollmentPanel.vue中三方核验source_type真实枚举值与字典定义(严禁使用任何主观猜测的字典定义)。
- 从
[VERIFY_WITH_CODE]Controller 路由与端点:- 从
TrainEnrollmentController.java提取参训列表、单人报名、批量导入、详情查询、状态变更、移除参训的精确 URL、HTTP Method、入参 DTO 与出参 VO。
- 从
[VERIFY_WITH_CODE]学额与防重控制逻辑:- 从
TrainEnrollmentServiceImpl.java中提取报名时关于计划容纳人数(学额超编校验)的实际处理代码,确认是硬性拦截抛异常还是记录提示。 - 提取重复报名时的数据库唯一约束与代码捕获处理逻辑。
- 从
4. 智能排课与课表 (Scheduling / Lesson)
[VERIFY_WITH_CODE]Controller 路由与端点:- 从
TrainLessonController.java提取课次新增、课次编辑、课次删除、排课冲突预检、获取完整课表的精确 URL、HTTP Method 与入参出参模型。
- 从
[VERIFY_WITH_CODE]冲突检测维度与 Soft Warning 交互:- 从
TrainLessonServiceImpl.java的checkLessonConflict方法中提取当前实现的全部冲突检测维度(核验是否存在TEACHER,CLASSROOM,SITE,PLAN_OVERLAP语义)。 - 提取冲突判定的时间区间数学/逻辑算法代码。
- 从
TimetablePanel.vue与TrainLessonController.java中提取排课保存时若检测到冲突的处理流程,确认管理员确认后是否允许保存(Soft Warning 语义确认)。
- 从
5. 学员基础档案 (Student)
[VERIFY_WITH_CODE]Controller 路由与端点:- 从
TrainStudentController.java提取列表、详情、新增的真实 URL 路径、HTTP Method 与参数绑定形式。
- 从
[VERIFY_WITH_CODE]隐私脱敏与校验事实:- 从
TrainStudent.java、StudentDetailVO.java、StudentItemVO.java中提取身份证号 (id_card) 与手机号 (phonenumber) 的脱敏实现位置(后端注解脱敏、Service 处理或前端脱敏)。 - 从 DTO 与校验类中提取身份证有效性校验的具体实现方式。
- 从
6. 师资主数据管理 (Teacher)
[VERIFY_WITH_CODE]Controller 路由与字段:- 从
TrainTeacherController.java、TrainTeacher.java提取实际端点、HTTP Method、权限字符以及教师资质/职称/内外聘标识字段。
- 从
7. 课程库资源管理 (Course)
[VERIFY_WITH_CODE]Controller 路由与端点状态:- 从
TrainCourseController.java提取列表、详情、新增、修改端点的真实实现情况(核验PUT /train/course/{cId}是否已落地)。 - 提取课程学时换算与统一资源解耦关系的实现事实。
- 从
8. 普通教室资源 (Classroom)
[VERIFY_WITH_CODE]Controller 路由与端点状态:- 从
TrainClassroomInfoController.java提取列表、详情、新增、修改端点的真实实现情况(核验PUT /train/classroom/{classRoomId}是否已落地)。 - 提取教室座位容量、教学楼属性字段。
- 从
9. 铁路实训场地 (TrainingSite)
[VERIFY_WITH_CODE]Controller 路由与特种属性:- 从
TrainTrainingSiteController.java提取全部实际端点、HTTP Method 及权限字符。 - 从实体和数据库提取实训场地类型、安全规程等特有字段。
- 从
10. 宿舍楼宇与房态 (Dormitory)
[VERIFY_WITH_CODE]Controller 路由与房态计算:- 从
TrainDormitoryInfoController.java提取列表、详情、新增、房态选项等端点。 - 从 DDL、Mapper 及 Service 中核实数据库是否存在独立床位表(确认是否为楼宇/房间两级无独立床位表架构),提取已住人数与可用床位的代码计算逻辑。
- 从
11. 电子班牌模块 (ElectronicBoard)
[VERIFY_WITH_CODE]外设绑定范围核验:- 从
TrainElectronicBoard.java、TrainElectronicBoardMapper.xml及 DDL 中提取班牌外键关联字段,确认当前代码是否仅实现bind_classroom_id,核验当前是否支持实训场地 (site_id) 绑定。
- 从
[VERIFY_WITH_CODE]Controller 路由与权限字符:- 从
TrainElectronicBoardController.java提取当前端点列表与实际声明的权限字符(核验是train:board:*还是system:board:*)。
- 从
三、系统级架构与集成事实抽取任务
1. 全局异常与业务错误码核验
[VERIFY_WITH_CODE]真实错误码抽取:- 检索代码中所有抛出业务异常的位置(
throw new ServiceException(...)),提取实际使用的错误码数值与提示文本。 - 核查代码中实际抛出的错误码是否落在
10000~59999规划区间内,统计是否存在未声明业务错误码直接裸抛的情况。
- 检索代码中所有抛出业务异常的位置(
2. 权限字符与数据库菜单配置核验
[VERIFY_WITH_CODE]权限字符清单抽取:- 汇总提取所有 Train 相关 Controller 上的
@ss.hasPermi权限字符串。 - 从数据库初始化 SQL(如
ry_20250522.sql、007_dicts.sql)或sys_menu表结构中,核验上述权限字符是否已配置对应菜单记录。
- 汇总提取所有 Train 相关 Controller 上的
3. CI/CD 流水线事实核验
[VERIFY_WITH_CODE]GitLab CI/CD 配置抽取:- 从仓库根目录的
.gitlab-ci.yml配置文件中,提取实际配置的流水线阶段 (stages)、各任务作业 (jobs)、构建镜像、编译指令与静态检查规则(杜绝出现 GitHub Actions 相关表述)。
- 从仓库根目录的
4. 运行时与环境配置核验
[RUNTIME_PENDING]服务端口与运行实测:- 从
application.yml、application-druid.yml以及前端vue.config.js/.env.development中提取配置的默认端口与上下文路径。 - 实际监听端口、真实数据库连接地址以及前端访问入口,统一标记为
RUNTIME_PENDING,以 Final Runtime Gate 最终实测报告为准。
- 从
四、Codex 产出规范
Codex 执行完毕后,应输出纯粹的事实结果报告(建议存为 docs/_meta/code-verification-results.md),格式规范:
- 代码事实条目:标明文件路径与行号区间。
- 事实结论:不加主观修饰的真实代码逻辑与枚举值。
- 未实现/差异项:明确标出设计文档与当前代码不符的具体点,供架构师组织文档更新。