调整tags * values数据
This commit is contained in:
@@ -15,6 +15,7 @@ import org.influxdb.dto.Point;
|
|||||||
import org.influxdb.dto.Query;
|
import org.influxdb.dto.Query;
|
||||||
import org.influxdb.dto.QueryResult;
|
import org.influxdb.dto.QueryResult;
|
||||||
import org.influxdb.impl.InfluxDBMapper;
|
import org.influxdb.impl.InfluxDBMapper;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
@@ -40,7 +41,7 @@ public class InfluxExecutor {
|
|||||||
public <E> List<E> select(String sql, Class domainClass) {
|
public <E> List<E> select(String sql, Class domainClass) {
|
||||||
List<E> results;
|
List<E> results;
|
||||||
//如果domainClass没有注解Measurement,则使用influxdb去查询
|
//如果domainClass没有注解Measurement,则使用influxdb去查询
|
||||||
if (!domainClass.isAnnotationPresent(Measurement.class)) {
|
if (domainClass.isAnnotationPresent(Measurement.class)) {
|
||||||
QueryResult queryResult = influxDb.query(new Query(sql, database));
|
QueryResult queryResult = influxDb.query(new Query(sql, database));
|
||||||
results = new ArrayList<>();
|
results = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
@@ -64,6 +65,7 @@ public class InfluxExecutor {
|
|||||||
for (QueryResult.Series series : seriesList) {
|
for (QueryResult.Series series : seriesList) {
|
||||||
obj = domainClass.newInstance();
|
obj = domainClass.newInstance();
|
||||||
Map<String, String> tags = series.getTags();
|
Map<String, String> tags = series.getTags();
|
||||||
|
//实际的数据量= 求和:tag[i] * value[i]
|
||||||
if (CollectionUtil.isNotEmpty(tags)) {
|
if (CollectionUtil.isNotEmpty(tags)) {
|
||||||
//处理tag分组数据
|
//处理tag分组数据
|
||||||
for (String columnName : tags.keySet()) {
|
for (String columnName : tags.keySet()) {
|
||||||
@@ -100,7 +102,9 @@ public class InfluxExecutor {
|
|||||||
List<List<Object>> values = series.getValues();
|
List<List<Object>> values = series.getValues();
|
||||||
for (List<Object> columnValue : values) {
|
for (List<Object> columnValue : values) {
|
||||||
Object object = domainClass.newInstance();
|
Object object = domainClass.newInstance();
|
||||||
|
if (ObjectUtil.isNotNull(obj)) {
|
||||||
|
BeanUtils.copyProperties(obj, object);
|
||||||
|
}
|
||||||
for (int i = 0; i < columnValue.size(); i++) {
|
for (int i = 0; i < columnValue.size(); i++) {
|
||||||
String columnName = columns.get(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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user