diff --git a/src/main/java/com/njcn/influx/core/InfluxExecutor.java b/src/main/java/com/njcn/influx/core/InfluxExecutor.java index 934e4f7..f7e29da 100644 --- a/src/main/java/com/njcn/influx/core/InfluxExecutor.java +++ b/src/main/java/com/njcn/influx/core/InfluxExecutor.java @@ -15,6 +15,7 @@ import org.influxdb.dto.Point; import org.influxdb.dto.Query; import org.influxdb.dto.QueryResult; import org.influxdb.impl.InfluxDBMapper; +import org.springframework.beans.BeanUtils; import java.lang.reflect.Field; import java.time.Instant; @@ -40,7 +41,7 @@ public class InfluxExecutor { public List select(String sql, Class domainClass) { List results; //如果domainClass没有注解Measurement,则使用influxdb去查询 - if (!domainClass.isAnnotationPresent(Measurement.class)) { + if (domainClass.isAnnotationPresent(Measurement.class)) { QueryResult queryResult = influxDb.query(new Query(sql, database)); results = new ArrayList<>(); try { @@ -64,6 +65,7 @@ public class InfluxExecutor { for (QueryResult.Series series : seriesList) { obj = domainClass.newInstance(); Map tags = series.getTags(); + //实际的数据量= 求和:tag[i] * value[i] if (CollectionUtil.isNotEmpty(tags)) { //处理tag分组数据 for (String columnName : tags.keySet()) { @@ -100,7 +102,9 @@ public class InfluxExecutor { List> values = series.getValues(); for (List columnValue : values) { Object object = domainClass.newInstance(); - + if (ObjectUtil.isNotNull(obj)) { + BeanUtils.copyProperties(obj, object); + } for (int i = 0; i < columnValue.size(); i++) { String columnName = columns.get(i); //属性名有下划线的替换掉 @@ -133,9 +137,7 @@ public class InfluxExecutor { } } } - if (Objects.nonNull(object)) { - results.add((E) object); - } + results.add((E) object); } } }