Files
Web_BLS_Heartbeat_Server/openspec/changes/update-heartbeat-arrays-v3/proposal.md

15 lines
992 B
Markdown
Raw Normal View History

# Change: 扩展心跳消息与分区表以支持电力/空调数组v3
## Why
当前心跳数据仅落库基础字段与 extra无法按需查询与聚合“电力设备/空调设备”的细粒度状态;需要将数组结构拆列为数据库数组列,并对指定列提供数组元素索引。
## What Changes
- **Kafka**:新增可选字段 `electricity[]``air_conditioner[]` 以及元素字段定义
- **Processor**:新增数组字段类型校验与“按原始顺序聚合为列数组”的转换规则
- **DB**:在 `heartbeat.heartbeat_events` 新增数组列,并为 `elec_address/air_address/state/model` 建立 GIN 索引(数组元素查询)
- **Docs/Tests**:更新 producer 与 schema 文档;补充单元测试与冒烟验证
## Impact
- Affected specs: `openspec/specs/kafka`, `openspec/specs/processor`, `openspec/specs/db`
- Affected code: `src/processor/heartbeatProcessor.js`, `src/db/databaseManager.js`, `scripts/db/*.sql`, `docs/*`, `test/*`