| | |
| | | } |
| | | |
| | | @Override |
| | | public Object queryPointMaxValueRange(InfluxPointValuePOJO point, Date startTime, Date endTime) { |
| | | if (influxQLQueryApi == null) { |
| | | influxQLQueryApi = influxDBInstance.getClient().getInfluxQLQueryApi(); |
| | | } |
| | | long utcMillisS = startTime.getTime() - rawOffset; |
| | | String utsStart = DateUtils.format(new Date(utcMillisS), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); |
| | | log.info("utsStart=" + utsStart); |
| | | long utcMillisE = endTime.getTime() - rawOffset; |
| | | String utsEnd = DateUtils.format(new Date(utcMillisE), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); |
| | | log.info("utsEnd=" + utsEnd); |
| | | |
| | | String measurement = PointValueUtils.getMeasurement(point.getType()); |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append("SELECT MAX(value) FROM "); |
| | | sql.append(measurement); |
| | | sql.append(" WHERE point = '"); |
| | | sql.append(point.getPoint()); |
| | | sql.append("' AND time >= '" + utsStart); |
| | | sql.append("' AND time <= '" + utsEnd + "'"); |
| | | InfluxQLQueryResult data = influxQLQueryApi.query(new InfluxQLQuery(sql.toString(), influxDBInstance.getBucket())); |
| | | if (data == null) { |
| | | return null; |
| | | } |
| | | return data.getResults().get(0).getSeries().get(0).getValues().get(0).getValues()[1]; |
| | | } |
| | | |
| | | @Override |
| | | public Object queryPointMinValueRange(InfluxPointValuePOJO point, Date startTime, Date endTime) { |
| | | if (influxQLQueryApi == null) { |
| | | influxQLQueryApi = influxDBInstance.getClient().getInfluxQLQueryApi(); |
| | | } |
| | | long utcMillisS = startTime.getTime() - rawOffset; |
| | | String utsStart = DateUtils.format(new Date(utcMillisS), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); |
| | | log.info("utsStart=" + utsStart); |
| | | long utcMillisE = endTime.getTime() - rawOffset; |
| | | String utsEnd = DateUtils.format(new Date(utcMillisE), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); |
| | | log.info("utsEnd=" + utsEnd); |
| | | |
| | | String measurement = PointValueUtils.getMeasurement(point.getType()); |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append("SELECT MIN(value) FROM "); |
| | | sql.append(measurement); |
| | | sql.append(" WHERE point = '"); |
| | | sql.append(point.getPoint()); |
| | | sql.append("' AND time >= '" + utsStart); |
| | | sql.append("' AND time <= '" + utsEnd + "'"); |
| | | InfluxQLQueryResult data = influxQLQueryApi.query(new InfluxQLQuery(sql.toString(), influxDBInstance.getBucket())); |
| | | if (data == null) { |
| | | return null; |
| | | } |
| | | return data.getResults().get(0).getSeries().get(0).getValues().get(0).getValues()[1]; |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> queryPointValues(InfluxPointValuePOJO pojo, Date startTime, Date endTime) { |
| | | List<InfluxPointValuePOJO> influxParams = new ArrayList<>(); |
| | | influxParams.add(pojo); |