feat: add historical data management
This commit is contained in:
65
progress.md
65
progress.md
@@ -1,5 +1,70 @@
|
||||
# Progress Log
|
||||
|
||||
## 2026-07-16 - Phase 42 运营统计模块标题区呼吸空间优化
|
||||
|
||||
- 已读取用户提供的看板截图,并按 Product Design Audit 规范完成证据定位:四个模块的标题、副标题与卡片边框距离过小,标题区与首个数据区缺少缓冲。
|
||||
- 已冻结本轮范围:只调整卡片内边距、标题区垂直节奏和内容分隔,不改数据、模块顺序、项目下钻或接口。
|
||||
- 已在看板样式末尾增加统一标题区规则:桌面卡片使用 24px 上下、32px 水平内边距;标题区增加顶部缓冲、标题/副标题间距和 24px 内容前留白;移动端收敛为 20px 卡片内边距。
|
||||
- 已同步增加项目行、峰值列表和状态列表的内容间距,保证四个模块的标题区和数据区具有一致呼吸空间。
|
||||
- 验收通过:历史页定向测试、全量 `make test`(15 个文件/53 项)、`make build`、类型检查、API `/healthz`、前端 `:5175` HTTP 200 和 `git diff --check` 均通过。
|
||||
|
||||
## 2026-07-16 - Phase 41 运营统计页视觉层级与排版精修
|
||||
|
||||
- 已读取并执行 `design-taste-frontend` 与 `ui-ux-pro-max`,完成保留式视觉审计、设计读法和参数设定。
|
||||
- 已确认本轮不改历史数据业务契约,只处理统计页及其共享历史筛选/空值文案的视觉与排版细节。
|
||||
- 已记录改版方向:视图感知筛选网格、统一 KPI 指标轨道、明确主次卡片层级、修复小时条文字 token 和缺省文案。
|
||||
- 已将 `HistoryFiltersBar` 按视图添加统计页专用网格,避免隐藏状态/关键词字段后留下空列;历史页标题、Tabs 和筛选控件的圆角、背景、焦点与 hover 层级保持统一。
|
||||
- 已将五个 KPI 从独立白卡合并为一张指标轨道,桌面使用内部分隔线,窄屏按两列折行并保持最后一项完整分隔。
|
||||
- 已为趋势、项目对比和运营节奏卡设置明确的主次边界;项目行增加轻量 hover 和固定下钻按钮宽度,小时分布文字改用 `--color-ink`。
|
||||
- 已完成页面可见缺省文案自检,移除破折号式空值表达,统一使用“暂无”“未提供”“日期至日期”等语义化文案。
|
||||
- 已补充历史页回归断言,覆盖统计筛选布局类名、短日期日卡片、关注模块不存在和项目下钻;业务数据、路由、导出、权限契约未改变。
|
||||
- 全量验收完成:`make test`(15 个文件/53 项)、`make check`、`make build`、API `/healthz`、前端 `:5175` HTTP 200 和 `git diff --check` 均通过。
|
||||
|
||||
## 2026-07-16 - Phase 40 运营统计看板布局与 UI/UX 收敛
|
||||
|
||||
- 已读取当前工作树、Phase 39 运营统计实现和既有测试,确认本轮以增量方式调整历史运营统计页,不清理其他在途改动。
|
||||
- 已使用 `ui-ux-pro-max` 生成数据密集型看板设计系统,并检索响应式、可访问性、层级和图表建议。
|
||||
- 已冻结改版口径:删除“需要关注”模块,改为 KPI、趋势、项目对比、状态/时段节奏四层结构;少于 4 天用日卡片,避免单点趋势图。
|
||||
- 已将趋势卡片改为全宽;项目对比改为独立宽卡;高峰时段与小时分布合并为运营节奏卡片;移动端项目行调整为四列,避免下钻按钮隐式换列。
|
||||
- 已删除“需要关注”卡片、异常引导语和对应前端样式;API 仍保留 `alerts` 字段以兼容已有后端响应,但当前页面不消费、不展示该字段。
|
||||
- 已为少于 4 个营业日的日期范围增加日卡片摘要;4 天及以上继续使用 SVG 趋势图,并用虚线区分完成量序列。
|
||||
- 已补充回归断言:关注模块不存在、短日期范围不渲染单点趋势图、项目下钻仍切换到排队记录并保留项目筛选。
|
||||
- 全量验收完成:`make test`(15 个文件/53 项)、`make check`、`make build`、API `/healthz`、前端 `:5175` HTTP 200 和 `git diff --check` 均通过。
|
||||
|
||||
## 2026-07-16 - Phase 39 运营统计经营复盘看板优化
|
||||
|
||||
- 已完成需求确认:本轮目标是历史经营复盘,不改变实时运营概览职责。
|
||||
- 已核对当前统计接口和页面:现有数据支持汇总、状态分布、按小时聚合,但缺少每日趋势、项目对比、峰值排名和异常摘要。
|
||||
- 已确定沿用现有管理端绿色/中性 token 与原生 CSS,不引入图表依赖;已完成统计聚合接口扩展与运营统计视图重构。
|
||||
- 已扩展 `/api/admin/history/summary`:新增 `daily` 每日趋势、`projects` 项目对比、`peak_hours` 峰值时段和 `alerts` 关注摘要,继续复用项目/日期筛选与权限校验。
|
||||
- 已将运营统计重构为经营复盘看板:核心 KPI、每日 SVG 趋势、项目排行/下钻、关注摘要、高峰时段、状态分布和小时节奏。
|
||||
- 已补充前端页面回归、后端关注阈值单元测试和真实 PostgreSQL 看板聚合集成断言;定向前后端测试与 `make test-db` 已通过。
|
||||
- 已校正小时统计口径:取号按 `joined_at`、叫号按 `called_at` 分桶,并验证两个事件落在不同本地小时的场景。
|
||||
- 全量验收完成:`make test`、`make check`、`make build`、`make test-db` 通过;API `:8080/healthz` 返回 `status: ok`,前端 `:5175` 返回 200。
|
||||
|
||||
## 2026-07-16 - Phase 38 后台历史数据管理功能实施
|
||||
|
||||
- 已实现 `/api/admin/history/tickets`、号码详情、叫号批次列表/详情、运营统计和 CSV 导出接口;统一支持项目、营业日、状态、号码/手机号筛选与分页。
|
||||
- 已复用现有 `queue_sessions`、`queue_tickets`、`call_batches` 和 `call_batch_tickets`,新增历史查询索引迁移 `000013`。
|
||||
- 已新增 `history_anonymized_at` 及 `000014` 迁移;数据库维护任务在终态记录超过 90 天时标记业务明细匿名化,保留号码、状态、时间和统计字段。
|
||||
- 已实现历史号码列表默认脱敏、详情审计查看联系方式、匿名化后不可按手机号检索,以及 CSV 10000 行上限和导出审计。
|
||||
- 管理端新增 `/admin/history` 与“历史数据”导航,完成排队记录、叫号记录、运营统计、筛选、详情抽屉和 CSV 下载页面。
|
||||
- 已新增前端 HistoryPage 回归测试、Go 历史筛选/脱敏单元测试和 PostgreSQL 历史接口集成测试。
|
||||
- 90 天匿名化维护任务会物理清除手机号、姓氏、称谓和检索摘要,并保留业务号码、状态、时间、批次关系与统计字段;历史页面默认不返回称谓,明文查看仍需审计。
|
||||
- 列表已补齐上一页/下一页操作,筛选提示改为实时筛选语义。
|
||||
- `make test`、`make check`、`make build`、`make test-db` 全部通过;前端 15 个测试文件、53 项测试通过,真实 PostgreSQL 验证包含匿名化字段清除。
|
||||
|
||||
## 2026-07-16 - Phase 37 后台历史数据管理功能规划
|
||||
|
||||
- 已读取当前项目计划、产品规划、数据库模型、初始迁移、后台 API、维护任务和管理端页面,确认历史功能可以复用现有事实表。
|
||||
- 已登记当前数据基础:按项目/营业日的队列场次、排队单状态时间线、叫号批次成员关系、管理员登录和基础审计。
|
||||
- 已形成 `docs/history-data-management-plan.md`,覆盖页面信息架构、查询字段、统计口径、导出、权限、隐私、接口、索引、分阶段范围和验收标准。
|
||||
- 已明确首期建议:P0 查询与追溯,P1 统计与 CSV 导出,P2 审计查询、可配置留存、异步导出和冷归档。
|
||||
- 已发现并记录一个待决策差异:文档要求原始业务事件 90 天匿名化,当前维护代码主要清理终态记录的个人字段;在实现前需确认最终留存/匿名化动作。
|
||||
- 用户已确认最终口径:90 天后保留匿名明细与统计,删除个人关联信息且不可恢复;Phase 37 规划阶段完成。
|
||||
- 真实 PostgreSQL 维护验证首次发现匿名化条件的参数类型推断错误,已记录并改为显式 `timestamptz` 转换,准备重跑验证。
|
||||
- 本轮未修改业务代码、数据库迁移或运行数据。
|
||||
|
||||
## 2026-07-16 - Phase 36 员工端取号同行人数输入修复
|
||||
|
||||
- 已恢复文件化计划上下文并确认工作树包含用户既有在途修改;本轮只对员工取号人数输入相关代码做增量修复。
|
||||
|
||||
Reference in New Issue
Block a user