diff --git a/Task-19-Bell%E8%A7%84%E5%88%99%E5%8C%B9%E9%85%8D%E4%B8%8EEvent-Alert%E9%93%BE%E8%B7%AF.-.md b/Task-19-Bell%E8%A7%84%E5%88%99%E5%8C%B9%E9%85%8D%E4%B8%8EEvent-Alert%E9%93%BE%E8%B7%AF.-.md new file mode 100644 index 0000000..6d1a64b --- /dev/null +++ b/Task-19-Bell%E8%A7%84%E5%88%99%E5%8C%B9%E9%85%8D%E4%B8%8EEvent-Alert%E9%93%BE%E8%B7%AF.-.md @@ -0,0 +1,44 @@ +# 19 Bell规则匹配与Event-Alert链路 + +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 +- 日期:2026-08-12 +- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/19 +- Wiki 页面:Task-19-Bell规则匹配与Event-Alert链路 +- Wiki revision:见本地镜像头 + +## 背景与目标 + +把已接收 Event 通过可审计规则转换为可处置 Alert,并保留 Event/Alert 双向追溯。 + +## 最终方案 + +Event 接收事务内执行规则评估,记录规则版本、解释和实际快照。一个 Event 可匹配多个规则;相同规则与地点的多个 Event 聚合到同一未关闭 Alert。未匹配 Event 仍可查询且不冒充通知/处置成功。 + +## 修改文件 + +- `Bell/server/app/rule/`、`alert/model/`、`alert/query/`:规则、评估、Alert 和查询。 +- `Bell/server/migrations/2026081204_rule_alert_base.sql`:规则版本、评估、Alert 与多对多关联。 +- `Bell/web/src/views/rule/`、`alert/list/`:规则与预警列表/详情。 + +## 验收结果 + +| 验收标准 | 结果 | +|---|---| +| 一个 Event 可形成多个 Alert | 通过 | +| 多 Event 可聚合同一开放 Alert | 通过 | +| 未匹配评估可审计 | 通过 | +| 失败时 Event/Receipt/Alert 同事务回滚 | 通过 | +| 规则写权限仅管理员 | 通过 | + +## 测试 + +- 执行:PostgreSQL 集成测试与 API 验收;覆盖 1 Event→2 Alert、2 Event→同 2 Alert、未匹配、事务回滚和 RBAC。 +- 结果:全部通过;Alert 详情返回 2 个关联 Event 与 2 条匹配解释。 +- **未验证部分**:大规模规则性能、正式生产者契约和通知投递。 + +## 相关提交 + +- `d550269` 规则匹配与 Event/Alert 可导航链路(PR #35)。