opsx
63dd491c5b
fix(daily-volume): 历史快照的 partial 自动修正 + 三个回归测试
=== 现象 ===
仓库里 6 条快照 partial 全是 true(10-27 到 10-30),前端把昨天的柱子
也画成虚线空心,看着像"每天都在采样中"。
=== 根因 ===
早期实现把两件事都塞进 partial:「今天还没过完」和「起点超出 24h」。
10-27/10-28 的数据现在已经被 retention 删掉、永远不会再被抓一次,
所以这两条错误标记会永久留在库里。
=== 修法 ===
prune 里加幂等修正:过去的天,只有快照是**在那天结束之后**才抓的
(说明抓到的是完整一天)才改成 partial=false;当天中途抓的继续保持 partial
(那时确实只有半天,不能伪装成完整数据)。
=== 测试(3/3 PASS)===
TestPruneDailyVolumeNormalizesPartialAndDropsExpired
· 昨天结束之后抓的 → partial=false
· 前天中途抓的 → 保持 partial=true
· 今天 → 保持 partial=true
· 超留存期 → 被清理
· 条数不被清理流程清空
TestUpsertVolumeSnapshotKeepsEntries 刷新体积不清空已抓到的条数
TestGetDailyVolumeHistoryReturnsAllDaysWithMissing 始终返回 days 个点,缺的标 Missing 不伪造 0
go vet ./services/ ./models/ 干净;go test ./services/ 全绿。
2026-10-30 16:56:39 +00:00
..
2026-10-29 16:07:58 +08:00
2026-10-30 16:46:40 +00:00
2026-10-30 16:03:24 +00:00
2026-10-29 13:29:25 +08:00
2026-10-30 16:52:55 +00:00
2026-10-29 15:16:18 +08:00
2026-10-30 16:35:35 +00:00
2026-10-30 16:35:35 +00:00
2026-10-30 15:28:30 +00:00
2026-10-30 16:56:39 +00:00
2026-10-24 13:20:12 +08:00
2026-10-29 13:29:25 +08:00
2026-10-29 15:30:25 +08:00
2026-10-29 15:30:25 +08:00
2026-10-30 16:35:35 +00:00