diff --git a/src/main/java/com/njcn/influx/core/InfluxExecutor.java b/src/main/java/com/njcn/influx/core/InfluxExecutor.java index 3f0144c..f231403 100644 --- a/src/main/java/com/njcn/influx/core/InfluxExecutor.java +++ b/src/main/java/com/njcn/influx/core/InfluxExecutor.java @@ -1,6 +1,7 @@ package com.njcn.influx.core; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.text.StrPool; import com.njcn.influx.constant.InfluxDbSqlConstant; import com.njcn.influx.utils.InstantUtil; import lombok.AllArgsConstructor; @@ -57,12 +58,23 @@ public class InfluxExecutor { for (List columnValue : values) { Object obj = domainClass.newInstance(); for (int i = 0; i < columnValue.size(); i++) { - Method value = domainClass.getMethod("setValue", BigDecimal.class); - Method time = domainClass.getMethod("setTime", Instant.class); - if (columns.get(i).equals("value")) { - value.invoke(obj, BigDecimal.valueOf(Double.parseDouble(columnValue.get(i).toString()))); - } else if (columns.get(i).equals("time")) { - time.invoke(obj, InstantUtil.stringToInstant(columnValue.get(i).toString().replace("+08:00", "Z"))); + String columnName = columns.get(i); + columnName = columnName.replaceAll(StrPool.UNDERLINE, ""); + Field[] declaredFields = domainClass.getDeclaredFields(); + for (Field declaredField : declaredFields) { + if(columnName.equalsIgnoreCase(declaredField.getName())){ + //获取属性定义的类型 + declaredField.setAccessible(true); + if(declaredField.getType() == Instant.class){ + declaredField.set(obj,InstantUtil.stringToInstant(columnValue.get(i).toString().replace("+08:00", "Z"))); + }else if(declaredField.getType() == String.class){ + declaredField.set(obj,columnValue.get(i).toString()); + }else if(declaredField.getType() == Double.class){ + declaredField.set(obj,Double.parseDouble(columnValue.get(i).toString())); + }else if(declaredField.getType() == Integer.class){ + declaredField.set(obj,Integer.parseInt(columnValue.get(i).toString())); + } + } } } results.add((E) obj); diff --git a/src/main/java/com/njcn/influx/pojo/StatisticsResult.java b/src/main/java/com/njcn/influx/pojo/StatisticsResult.java index a4ed77a..0eba147 100644 --- a/src/main/java/com/njcn/influx/pojo/StatisticsResult.java +++ b/src/main/java/com/njcn/influx/pojo/StatisticsResult.java @@ -22,7 +22,7 @@ public class StatisticsResult implements Serializable { /*** * 统计值 */ - private BigDecimal value; + private Double value;