| | |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> queryPointMaxTimeValue(InfluxPointValuePOJO point, Date startTime, Date endTime) { |
| | | Map<String, Object> result = new HashMap<>(2); |
| | | List<Map<String, Object>> valueList = this.queryPointValues(point, startTime, endTime); |
| | | if (CollectionUtils.isEmpty(valueList)) { |
| | | return null; |
| | | } |
| | | |
| | | double valueL = new BigDecimal(valueList.get(0).get(VALUE).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); |
| | | String timeM = valueList.get(0).get(TIME).toString(); |
| | | double valueM = valueL; |
| | | for (Map<String, Object> item : valueList) { |
| | | double valueI = new BigDecimal(item.get(VALUE).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); |
| | | if (valueI >= valueL ) { |
| | | valueM = valueI; |
| | | timeM = item.get(TIME).toString(); |
| | | } |
| | | valueL = valueI; |
| | | } |
| | | result.put(TIME, timeM); |
| | | result.put(VALUE, valueM); |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public Object queryPointMaxValueRange(InfluxPointValuePOJO point, Date startTime, Date endTime) { |
| | | if (influxQLQueryApi == null) { |
| | | influxQLQueryApi = influxDBInstance.getClient().getInfluxQLQueryApi(); |