Files
CN_Tool/tools/add-data
yexb 89efc55119 fix(tools): 修复台账节点查询和数据补录功能
- 修复 QUALITYFLAG 字段默认值从 1 改为 0
- 添加 selectNodeById 查询方法用于精确节点查找
- 重构 requireLedger 方法增加节点名称参数和详细错误提示
- 新增 levelName 辅助方法统一层级名称显示
- 更新 InfluxDB 配置地址从 192.168.1.68 改为 127.0.0.1
- 扩展 add-data 模块支持 InfluxDB 数据补录功能
- 新增 AddDataInfluxTaskController 提供 InfluxDB 补数任务接口
- 实现 AddDataInfluxFieldMapper 完成字段到 InfluxDB 测量值映射
- 添加 AddDataInfluxTaskExecutor 处理 InfluxDB 异步补数任务
- 更新 README 文档说明 InfluxDB 写入功能和配置要求
2026-05-20 08:33:37 +08:00
..

add-data 模块说明

模块定位

add-data 当前提供电能质量 13 张表批量补数能力,支持补数规模预估、后台异步执行、任务状态查询、前端模板规则查询,并提供独立的 InfluxDB 写入入口。

当前范围

当前模块本次实现范围聚焦在工具型批处理,不接入以下内容:

  • 覆盖更新或先删后写
  • 监测点基础信息管理
  • 独立任务持久化表
  • 前端页面代码

SQL 元数据脚本位于 src/main/resources/sql/add-data/DATA_FLICKER.sql,供运行时解析表字段元数据。

当前结构

add-data/
├── pom.xml
├── README.md
└── src/main/java/com/njcn/gather/tool/adddata/
    ├── component/
    ├── config/
    ├── controller/
    ├── pojo/
    ├── service/
    └── util/

基础骨架说明

  • controller/AddDataTaskController
    • 提供 MySQL 预估、创建任务、查询任务状态三个接口
  • controller/AddDataInfluxTaskController
    • 提供 InfluxDB 创建任务、查询任务状态两个接口
  • controller/AddDataStorageTypeController
    • 提供当前支持入库类型查询接口,返回 MYSQLINFLUXDB
  • controller/AddDataTemplateController
    • 提供前端参数模板规则查询接口
  • component/AddDataTaskExecutor
    • 负责 MySQL 后台异步补数任务执行
  • component/AddDataInfluxTaskExecutor
    • 负责 InfluxDB 后台异步补数任务执行
  • component/AddDataBatchWriter
    • 负责 INSERT IGNORE 批量写入与失败降级
  • component/AddDataInfluxWriter
    • 负责将生成数据转换为 InfluxDB line protocol 并写入 /write
  • component/AddDataInfluxFieldMapper
    • 负责把 add-data 表字段映射为 InfluxDB measurement、tag 和 field
  • component/AddDataValueGenerator
    • 负责按同源规则生成 13 张表数据
  • component/AddDataTableRegistry
    • 负责从 SQL 资源解析字段元数据并注册表定义
  • component/AddDataTaskStatusHolder
    • 首版以内存方式保存任务状态

扩展约束

当前实现按 A/B/C/T 四类数据类型生成和预估补数。

InfluxDB 写入复用 steady 的 InfluxDB 配置源,保持两个模块使用同一个库:

steady:
  influxdb:
    url: http://127.0.0.1:18086
    database: pqsbase
    username: admin
    password: ${STEADY_INFLUXDB_PASSWORD:}
    connect-timeout-ms: 5000
    read-timeout-ms: 30000

后续如果补齐逐表真实相别映射、任务持久化或更细粒度模板规则,应优先沿现有职责边界扩展,不回退为单一大类承载全部逻辑。