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;
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<Object> 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);

View File

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