diff --git a/变更记录.md b/变更记录.md index 13222c0..8f094d9 100644 --- a/变更记录.md +++ b/变更记录.md @@ -236,6 +236,13 @@ - 权限:新增 `trace:read/write`;Web:新增「疫病溯源」菜单页(列表 + 详情:一级初报/二级清单作答/三级记录 + 自动溯源/归档) - 测试:5 组溯源规则单测(环境回溯/历史关联/传播推断/清单/分析,TDD 红→绿);第十八次部署(schema 变更前 pg_dump `silk-20260812-1920.dump`);冒烟:创建→清单 4 项→auto(reported/内源/conf 0.6)→清单提交(analysis/conf 0.725);回滚点见服务器 README(后端 `server-go-linux.old-20260812-21`、web `dist.old-20260812-12`) +### 区域发病统计(计划 #22) + +- 后端:`rooms` 增加 `region` 字段(乡镇/村,蚕房表单录入);`GET /api/v1/trace-records/region-stats?days=&disease=`——近 N 天(默认 90)按蚕房区域聚合发病数与病种分布(`AggregateRegionStats` 纯逻辑:分组/降序/空区域剔除) +- Web:疫病溯源页顶部新增「区域发病统计(近 90 天)」柱状图 + 病种分布饼图(ECharts);蚕房管理表单新增「区域」字段与列表列 +- 小程序:不做;真正的乡镇/县级地图(GeoJSON 底图)本期未接入,先用统计图表表达热力趋势 +- 测试:区域聚合 2 组单测(分组/降序/空区域剔除/空输入,TDD 红→绿);2026-08-13 第一次部署(schema 变更前 pg_dump `silk-20260813-0010.dump`);冒烟:SmokeTown 聚合 total=2、DiseaseA/B 各 1;回滚点见服务器 README(后端 `server-go-linux.old-20260813-1`、web `dist.old-20260813-1`) + ## 2026-07-17 安全与界面优化整改 ### 变更背景 diff --git a/开发交接记录.md b/开发交接记录.md index edc34d8..2ce7e71 100644 --- a/开发交接记录.md +++ b/开发交接记录.md @@ -497,6 +497,26 @@ --- +## 2026-08-13 模块:区域发病统计(计划 #22) + +### 做了什么 + +- `rooms.region` 字段 + `GET /trace-records/region-stats`(近 N 天按区域聚合);Web 溯源页顶部柱状图 + 病种饼图;蚕房表单区域字段。 + +### 思路与决策 + +- 区域数据由蚕房管理录入(不自动解析位置字符串,避免误判); +- v1 用 ECharts 统计图表表达热力趋势;真正乡镇/县级地图(GeoJSON 底图 + 坐标)需要地图服务或离线数据,后续按需接入; +- 聚合纯逻辑独立(分组/降序/空区域剔除),便于单测与前端复用。 + +### 验证与部署 + +- 2 组聚合单测(TDD 红→绿);三端构建通过; +- 2026-08-13 第一次部署(schema 变更前 pg_dump `silk-20260813-0010.dump`);冒烟:SmokeTown total=2、DiseaseA/B 各 1; +- 相关提交:`7949f90`(后端)、`9c5af92`(Web);回滚见服务器 README。 + +--- + ## 环境与踩坑备忘(新同事必读) - **VPN**:开发服务器经 NetBird 访问;服务 Running 后需 `netbird up`,登录走 SSO(管理端 `115.191.19.95:6680`)。