代码提交

This commit is contained in:
2023-06-06 08:47:23 +08:00
parent ffca9a7cec
commit 3c2c5d9035
6 changed files with 71 additions and 1 deletions

View File

@@ -19,4 +19,6 @@ public interface CommonMapper extends InfluxDbBaseMapper<PowerQualityData> {
List<StatisticalDataDTO> getStatistical(InfluxQueryWrapper influxQueryWrapper);
StatisticalDataDTO getLineRtData(InfluxQueryWrapper influxQueryWrapper);
}

View File

@@ -1,11 +1,15 @@
package com.njcn.influx.pojo.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.njcn.common.utils.serializer.InstantDateSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import retrofit2.http.Field;
import java.time.Instant;
/**
* Description:
* Date: 2023/6/5 10:23【需求编号】
@@ -17,6 +21,9 @@ import retrofit2.http.Field;
@Data
public class StatisticalDataDTO {
@Column(name = "time")
@JsonSerialize(using = InstantDateSerializer.class)
private Instant time;
private String LineId;
private String Phase;
@Column(name = "Stat_Method")

View File

@@ -0,0 +1,38 @@
package com.njcn.influx.pojo.po.cs;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.njcn.common.utils.serializer.InstantDateSerializer;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import java.time.Instant;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/5 16:09
*/
@Data
@Measurement(name = "data_harmpower_p")
public class CsDataHarmPowerP {
@Column(name = "time")
@JsonSerialize(using = InstantDateSerializer.class)
private Instant time;
@Column(name = "line_id")
private String lineId;
@Column(name = "phasic_type")
private String phaseType;
@Column(name = "value_type")
private String valueType;
@Column(name = "W")
private Double w;
}

View File

@@ -13,4 +13,15 @@ import java.util.List;
*/
public interface CommonService {
List<StatisticalDataDTO> commonquery(String lineId, String tableName, String columnName);
/**
* 根据条件获取监测点数据
* @param lineId 监测点Id
* @param tableName 表名
* @param columnName 字段名
* @param phasic 相别
* @param dataType 数据类型
* @return
*/
StatisticalDataDTO getLineRtData(String lineId, String tableName, String columnName, String phasic, String dataType);
}

View File

@@ -38,4 +38,16 @@ public class CommonServiceImpl implements CommonService {
return statistical;
}
@Override
public StatisticalDataDTO getLineRtData(String lineId, String tableName, String columnName, String phasic, String dataType) {
HashMap<String, Class<?>> entityClassesByAnnotation = ReflectUitl.getEntityClassesByAnnotation();
Class<?> aClass = entityClassesByAnnotation.get(tableName);
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(aClass,StatisticalDataDTO.class);
influxQueryWrapper.eq("line_id",lineId)
.eq("phasic_type",phasic)
.eq("value_type",dataType)
.last(columnName,"statisticalData");
return commonMapper.getLineRtData(influxQueryWrapper);
}
}

View File

@@ -27,7 +27,7 @@ public class ReflectUitl {
*/
public static HashMap<String,Class<?>> getEntityClassesByAnnotation() {
HashMap<String,Class<?>> result = new HashMap<>();
List<Class<?>> classes = ReflectUitl.getClasses("com.njcn.influx.pojo.po");
List<Class<?>> classes = ReflectUitl.getClasses("com.njcn.influx.pojo.po.cs");
for (Class<?> clazz : classes) {
if (clazz.isAnnotationPresent(Measurement.class)) {
Measurement annotation = (Measurement) clazz.getAnnotation(Measurement.class);