From 91e42a16791ff49fd81dbbed65c23913f77452fd Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Tue, 2 Jun 2026 14:47:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(influx):=20=E6=B7=BB=E5=8A=A0APF=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AE=9E=E4=BD=93=E5=92=8C=E6=98=A0=E5=B0=84=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 创建ApfData实体类,定义APF相关数据字段和序列化配置 - 配置InfluxDB注解包括测量名称、时间列和标签列 - 定义电压、电流、功率等APF监测参数字段 - 实现InfluxDbBaseMapper接口创建ApfDataMapper数据访问层 --- .../njcn/influx/imapper/ApfDataMapper.java | 14 +++ .../com/njcn/influx/pojo/po/cs/ApfData.java | 98 +++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 src/main/java/com/njcn/influx/imapper/ApfDataMapper.java create mode 100644 src/main/java/com/njcn/influx/pojo/po/cs/ApfData.java diff --git a/src/main/java/com/njcn/influx/imapper/ApfDataMapper.java b/src/main/java/com/njcn/influx/imapper/ApfDataMapper.java new file mode 100644 index 0000000..1e08952 --- /dev/null +++ b/src/main/java/com/njcn/influx/imapper/ApfDataMapper.java @@ -0,0 +1,14 @@ +package com.njcn.influx.imapper; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.cs.ApfData; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年07月17日 11:05 + */ +public interface ApfDataMapper extends InfluxDbBaseMapper { + + +} diff --git a/src/main/java/com/njcn/influx/pojo/po/cs/ApfData.java b/src/main/java/com/njcn/influx/pojo/po/cs/ApfData.java new file mode 100644 index 0000000..7b15f36 --- /dev/null +++ b/src/main/java/com/njcn/influx/pojo/po/cs/ApfData.java @@ -0,0 +1,98 @@ +package com.njcn.influx.pojo.po.cs; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.njcn.influx.utils.InstantDateSerializer; +import lombok.Data; +import org.influxdb.annotation.Column; +import org.influxdb.annotation.Measurement; +import org.influxdb.annotation.TimeColumn; + +import java.io.Serializable; +import java.time.Instant; + +/** + * * + * @author xy + * 部分字段,后续有需要自行添加字段 + * @version V1.0.0 + */ +@Data +@Measurement(name = "apf_data") +public class ApfData implements Serializable { + + @TimeColumn + @Column(name = "time",tag = true) + @JsonSerialize(using = InstantDateSerializer.class) + private Instant time; + + @Column(name = "line_id",tag = true) + private String lineId; + + @Column(name = "phasic_type",tag = true) + private String phaseType; + + @Column(name = "quality_flag",tag = true) + private String qualityFlag; + + @Column(name = "value_type",tag = true) + private String valueType; + + @Column(name = "cl_did") + private String clDid; + + @Column(name = "process") + private String process; + + @Column(name = "Apf_Freq") + private Double apfFreq; + + @Column(name = "Apf_RmsI_TolOut") + private Double apfRmsITolOut; + + @Column(name = "Apf_RmsI_Sys") + private Double apfRmsISys; + + @Column(name = "Apf_ThdA_Sys") + private Double apfThdASys; + + @Column(name = "Apf_PhV_Sys") + private Double apfPhVSys; + + @Column(name = "Apf_ThdU_Sys") + private Double apfThdUSys; + + @Column(name = "Apf_RmsI_Load") + private Double apfRmsILoad; + + @Column(name = "Apf_ThdA_Load") + private Double apfThdALoad; + + @Column(name = "Apf_P_Load") + private Double apfPLoad; + + @Column(name = "Apf_P_Sys") + private Double apfPSys; + + @Column(name = "Apf_Q_Load") + private Double apfQLoad; + + @Column(name = "Apf_Q_Sys") + private Double apfQSys; + + @Column(name = "Apf_S_Load") + private Double apfSLoad; + + @Column(name = "Apf_S_Sys") + private Double apfSSys; + + @Column(name = "Apf_PF_Load") + private Double apfPFLoad; + + @Column(name = "Apf_PF_Sys") + private Double apfPFSys; + +} + + + +