潘志宝
2025-03-17 8b37a3da0aea0ba2857fbdd208cd4c655356e854
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/impl/InfluxDBServiceImpl.java
@@ -35,11 +35,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import static com.iailab.framework.common.pojo.CommonResult.success;
/**
 * InfluxDB操作类
@@ -62,18 +59,13 @@
    private InfluxQLQueryApi influxQLQueryApi;
    private String VALUE = "value";
    public static final String VALUE = "value";
    private String TIME = "time";
    public static final String TIME = "time";
    private int rawOffset = TimeZone.getDefault().getRawOffset();
    private int pas_ms = 1000;
    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    @Resource
    private InfluxDBService influxDBService;
    @Override
    public void syncWriteFloatValue(String pointNo, String dataValue, long time) {
@@ -312,7 +304,9 @@
            sql.append("'");
            InfluxQLQueryResult data = influxQLQueryApi.query(new InfluxQLQuery(sql.toString(), influxDBInstance.getBucket()));
            Object value = data.getResults().get(0).getSeries().get(0).getValues().get(0).getValueByKey("last");
            result.put(point.getPoint(), value);
            if (value != null) {
                result.put(point.getPoint(), value);
            }
        }
        return result;
    }
@@ -369,7 +363,7 @@
            InfluxPointValuePOJO point = influxParams.get(i);
            String measurement = PointValueUtils.getMeasurement(point.getType());
            StringBuilder sb = new StringBuilder();
            sb.append("from(bucket:\"" + influxDBInstance.bucket + "\") ");
            sb.append("from(bucket:\"" + influxDBInstance.getBucket() + "\") ");
            sb.append("|> range(start: ").append(start).append(", stop: ").append(stop).append(") ");
            sb.append("|> filter(fn: (r) => r[\"_measurement\"] == \"" + measurement + "\")");
            sb.append("|> filter(fn: (r) => r[\"_field\"] == \"value\")");
@@ -384,7 +378,7 @@
                for (FluxRecord record : records) {
                    Map<String, Object> dataIem = new HashMap<>(2);
                    dataIem.put(VALUE, record.getValueByKey("_value"));
                    dataIem.put(TIME, sdf.format(Date.from(record.getTime())));
                    dataIem.put(TIME, DateUtils.format(Date.from(record.getTime()), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
                    dataList.add(dataIem);
                }
            }