Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
18
AGENTS.md
18
AGENTS.md
@@ -3,6 +3,8 @@
|
|||||||
> **模型决定上限,Harness 决定底线。**
|
> **模型决定上限,Harness 决定底线。**
|
||||||
> 本文件是 OpenHIS 项目的 Harness Engineering 落地。整合了 OpenAI/Anthropic Harness Engineering 方法论与 walkinglabs 实战模式。
|
> 本文件是 OpenHIS 项目的 Harness Engineering 落地。整合了 OpenAI/Anthropic Harness Engineering 方法论与 walkinglabs 实战模式。
|
||||||
|
|
||||||
|
> **🔴 铁律统一文件**: `/root/.codex/rules/IRON_LAWS.md` — 所有智能体必须遵守,运行时自动加载。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📋 项目信息
|
## 📋 项目信息
|
||||||
@@ -192,6 +194,22 @@ Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...)
|
|||||||
- 需要新功能 → 添加重载方法
|
- 需要新功能 → 添加重载方法
|
||||||
- 需要改行为 → 修改方法内部实现
|
- 需要改行为 → 修改方法内部实现
|
||||||
|
|
||||||
|
### 状态变更影响面分析(来自 Bug #574→575 教训)
|
||||||
|
改任何状态枚举值前,**必须**执行影响面分析:
|
||||||
|
1. `rg "原状态枚举名" --type java` 列出所有引用文件
|
||||||
|
2. 逐个检查:设置值?查询过滤?显示映射?统计聚合?
|
||||||
|
3. 检查逆向流程:退号、取消、停诊是否兼容新状态
|
||||||
|
4. 检查 XML mapper 中所有查询过滤条件
|
||||||
|
5. 检查前端 STATUS_CLASS_MAP 和所有 v-if/v-for 条件
|
||||||
|
**禁止**:只改正向流程不验逆向流程
|
||||||
|
|
||||||
|
### 逆向流程验证(来自 Bug #575 教训)
|
||||||
|
涉及状态流转的 Bug,验证时**必须**覆盖:
|
||||||
|
- 正向:预约→签到→就诊→完成
|
||||||
|
- 逆向:退号、取消预约、停诊、退费
|
||||||
|
- 边界:并发操作、重复操作、异常中断
|
||||||
|
**禁止**:只测正向流程就标记"修复完成"
|
||||||
|
|
||||||
### 搜索所有相关代码路径
|
### 搜索所有相关代码路径
|
||||||
修复前必须用 `rg` 搜索:
|
修复前必须用 `rg` 搜索:
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public interface SchedulePoolMapper extends BaseMapper<SchedulePool> {
|
|||||||
@Param("lockedStatus") Integer lockedStatus);
|
@Param("lockedStatus") Integer lockedStatus);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 签到时更新号源池统计:锁定数-1(签到后状态变为CHECKED_IN=3,由refreshPoolStats统一统计)
|
* 签到时更新号源池统计:锁定数-1,已约数+1
|
||||||
*
|
*
|
||||||
* @param poolId 号源池ID
|
* @param poolId 号源池ID
|
||||||
* @return 结果
|
* @return 结果
|
||||||
@@ -50,6 +50,7 @@ public interface SchedulePoolMapper extends BaseMapper<SchedulePool> {
|
|||||||
@Update("""
|
@Update("""
|
||||||
UPDATE adm_schedule_pool
|
UPDATE adm_schedule_pool
|
||||||
SET locked_num = locked_num - 1,
|
SET locked_num = locked_num - 1,
|
||||||
|
booked_num = booked_num + 1,
|
||||||
update_time = NOW()
|
update_time = NOW()
|
||||||
WHERE id = #{poolId}
|
WHERE id = #{poolId}
|
||||||
AND locked_num > 0
|
AND locked_num > 0
|
||||||
|
|||||||
Reference in New Issue
Block a user