influxORM代码调整

This commit is contained in:
2023-04-28 16:27:04 +08:00
parent b29104cfe2
commit 2fb7d70bbc
2 changed files with 19 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
package com.njcn.influx.core; package com.njcn.influx.core;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.text.StrPool;
import com.njcn.influx.constant.InfluxDbSqlConstant; import com.njcn.influx.constant.InfluxDbSqlConstant;
import com.njcn.influx.utils.InstantUtil; import com.njcn.influx.utils.InstantUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -57,12 +58,23 @@ public class InfluxExecutor {
for (List<Object> columnValue : values) { for (List<Object> columnValue : values) {
Object obj = domainClass.newInstance(); Object obj = domainClass.newInstance();
for (int i = 0; i < columnValue.size(); i++) { for (int i = 0; i < columnValue.size(); i++) {
Method value = domainClass.getMethod("setValue", BigDecimal.class); String columnName = columns.get(i);
Method time = domainClass.getMethod("setTime", Instant.class); columnName = columnName.replaceAll(StrPool.UNDERLINE, "");
if (columns.get(i).equals("value")) { Field[] declaredFields = domainClass.getDeclaredFields();
value.invoke(obj, BigDecimal.valueOf(Double.parseDouble(columnValue.get(i).toString()))); for (Field declaredField : declaredFields) {
} else if (columns.get(i).equals("time")) { if(columnName.equalsIgnoreCase(declaredField.getName())){
time.invoke(obj, InstantUtil.stringToInstant(columnValue.get(i).toString().replace("+08:00", "Z"))); //获取属性定义的类型
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); results.add((E) obj);

View File

@@ -22,7 +22,7 @@ public class StatisticsResult implements Serializable {
/*** /***
* 统计值 * 统计值
*/ */
private BigDecimal value; private Double value;