fix(#574): 签到状态 BOOKED(1)→CHECKED_IN(3) + 全链路映射修复
根因:checkInTicket() 将签到后状态设为 BOOKED(1) 而非 CHECKED_IN(3) 导致:前端无法识别已签到状态,池统计漏计已签到人数 修复: - TicketServiceImpl: 签到状态改为 SlotStatus.CHECKED_IN(3) - TicketAppServiceImpl: 新增 CHECKED_IN→已签到 映射分支 - SchedulePoolMapper: 池统计兼容 BOOKED 和 CHECKED_IN - outpatientAppointment/index.vue: STATUS_CLASS_MAP + 患者信息条件加上已签到 - AGENTS.md: 写入状态值一致性/禁止删文件/全链路验证铁律
This commit is contained in:
52
AGENTS.md
52
AGENTS.md
@@ -155,6 +155,50 @@ Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...)
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 🚨 铁律(不可违反 — 来自实际 Bug 教训)
|
||||
|
||||
### 状态值一致性
|
||||
涉及状态流转的 Bug,修改前**必须**列出完整链路并逐项检查:
|
||||
1. 枚举定义(如 `SlotStatus`、`OrderStatus`)的数值
|
||||
2. Service 层设置的状态值是否与枚举一致
|
||||
3. 查询/列表接口的状态映射是否覆盖所有枚举值
|
||||
4. 前端 `STATUS_CLASS_MAP` 是否包含新状态
|
||||
5. 前端过滤条件(`v-if`、`v-for`)是否兼容新状态
|
||||
6. 池/统计表的聚合 SQL 是否包含新状态值
|
||||
|
||||
**禁止**:只改一端不检查其他端。必须全链路对齐。
|
||||
|
||||
### 禁止删除源文件
|
||||
- **绝对禁止**删除项目中已有的 Java/Vue/SQL 源文件
|
||||
- 编译错误 → 修复错误,不删除文件
|
||||
- 重复文件 → 重构合并,不删除文件
|
||||
- AI 幻觉文件 → 检查 `git ls-tree baseline -- <file>` 确认后再删除
|
||||
- **唯一例外**:人类明确确认删除
|
||||
|
||||
### 全链路验证(状态流转 Bug 必做)
|
||||
修复后按以下顺序验证,**编译通过不等于修复完成**:
|
||||
```
|
||||
① 数据库:SELECT status FROM table WHERE id = ? → 确认写入正确
|
||||
② 后端接口:检查所有 if/switch 分支 → 确认映射正确
|
||||
③ 前端显示:检查 STATUS_CLASS_MAP → 确认文本正确
|
||||
④ 前端交互:检查 v-if/v-for/disabled → 确认按钮状态正确
|
||||
⑤ 统计数据:检查聚合 SQL → 确认统计包含新状态
|
||||
```
|
||||
|
||||
### 禁止修改已有公开方法签名
|
||||
- 不能删除或重命名已有的 public 方法
|
||||
- 不能修改已有方法的参数列表
|
||||
- 需要新功能 → 添加重载方法
|
||||
- 需要改行为 → 修改方法内部实现
|
||||
|
||||
### 搜索所有相关代码路径
|
||||
修复前必须用 `rg` 搜索:
|
||||
```
|
||||
rg "状态枚举名\|相关方法名\|相关字段名" --type java --type vue
|
||||
```
|
||||
确保不遗漏任何引用该状态的代码路径。
|
||||
|
||||
## 📐 代码风格规范
|
||||
|
||||
### Java 后端
|
||||
@@ -206,6 +250,14 @@ Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...)
|
||||
|
||||
---
|
||||
|
||||
## 📈 过往 Bug 教训
|
||||
|
||||
| Bug | 教训 |
|
||||
|---|---|
|
||||
| #574 | `checkInTicket()` 状态值写错(BOOKED→应为CHECKED_IN),前端映射缺失,池统计漏计。根因:没走完整状态链路 |
|
||||
| #574 | AI 智能体看到编译错误直接删文件,没检查 git baseline。根因:没验证文件来源 |
|
||||
| #574 | 多次 fallback 修复改错文件(OrderServiceImpl),没触及真正问题(TicketServiceImpl)。根因:没用 rg 搜索所有引用 |
|
||||
|
||||
## 📈 成熟度追踪
|
||||
|
||||
| 等级 | 特征 | 本项目 |
|
||||
|
||||
Reference in New Issue
Block a user