1
0

refactor: 移除 success 字段,简化为 matched 单层判定模型

This commit is contained in:
2026-05-11 13:12:55 +08:00
parent 548b44d28e
commit 35ba56888b
93 changed files with 3893 additions and 103 deletions

View File

@@ -0,0 +1,41 @@
## MODIFIED Requirements
### Requirement: 数据库表结构
系统 SHALL 使用 SQLite 存储 targets 和 check_results 两张表。
#### Scenario: check_results 表结构
- **THEN** check_results 表 SHALL 包含 idINTEGER PRIMARY KEY AUTOINCREMENT、target_idINTEGER NOT NULL、timestampTEXT NOT NULL、matchedINTEGER NOT NULL、duration_msREAL、status_detailTEXT、failureTEXT不包含 success 列
### Requirement: 结果写入
系统 SHALL 将每次拨测结果插入 check_results 表。
#### Scenario: 插入结果记录
- **THEN** 系统 SHALL 插入一条包含 target_id、timestamp、matched、duration_ms、status_detail、failure 的记录
### Requirement: 可用率计算
系统 SHALL 计算目标在指定时间范围内的可用率。
#### Scenario: 可用率定义
- **THEN** 系统 SHALL 返回 matched=true 的记录数占总记录数的百分比
#### Scenario: 平均耗时
- **THEN** 系统 SHALL 返回 duration_ms 的平均值(仅计算 matched=true 的记录)
### Requirement: 目标排序
系统 SHALL 按分组排序返回目标列表。
#### Scenario: 分组排序规则
- **WHEN** 查询目标列表
- **THEN** "default" 分组 SHALL 排在最前,其余分组 SHALL 按 YAML 配置中首次出现的顺序(即 id 自增顺序)排列
### Requirement: 最近采样查询
系统 SHALL 提供获取目标最近 N 条采样记录的方法。
#### Scenario: 采样记录返回字段
- **THEN** 系统 SHALL 返回最多 N 条记录,每条包含 timestamp、duration_ms、matched
### Requirement: 汇总查询
系统 SHALL 提供全局汇总统计。
#### Scenario: UP/DOWN 判定
- **THEN** 系统 SHALL 基于 latestCheck.matched 判定目标 UP 或 DOWNmatched=true 为 UPmatched=false 为 DOWN