From faf8649ff22b8af12c758355725389204838e02a Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 05 Aug 2021 13:23:54 +0800
Subject: [PATCH] 小时缺失数据补充定时任务
---
screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java | 52 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 35 insertions(+), 17 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java b/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
index 8b185e0..55f3f67 100644
--- a/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
+++ b/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
@@ -10,8 +10,8 @@
import org.springframework.util.StringUtils;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
-import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
import com.moral.api.service.DeviceService;
@@ -52,18 +52,27 @@
}
//������������
- data = data.entrySet().stream()
- .filter(map -> {
- String key = map.getKey();
- return !(key.contains("Min") || key.contains("Max") || key.contains("Cou"));
- }).collect(Collectors.toMap(m -> m.getKey().replaceAll("-Avg", ""), Map.Entry::getValue));
data.remove("time");
data.remove("entryTime");
+ Iterator<Map.Entry<String, Object>> iterator = data.entrySet().iterator();
+ Map<String, Object> newMap = new HashMap<>();
+ Map.Entry<String, Object> next;
+ while (iterator.hasNext()) {
+ next = iterator.next();
+ String key = next.getKey();
+ Object value = next.getValue();
+ if (key.contains("-Avg")) {
+ newMap.put(key.replaceAll("-Avg", ""), Double.parseDouble(value.toString()));
+ } else {
+ newMap.put(key, value);
+ }
+ iterator.remove();
+ }
//���������������
- historyMinutelyService.insertHistoryMinutely(data);
+ historyMinutelyService.insertHistoryMinutely(newMap);
ack.acknowledge();
} catch (Exception e) {
- //log.error("param{}" + msg);
+ log.error("param{}" + msg);
}
}
@@ -83,18 +92,27 @@
}
//������������
- data = data.entrySet().stream()
- .filter(map -> {
- String key = map.getKey();
- return !(key.contains("Min") || key.contains("Max") || key.contains("Cou"));
- }).collect(Collectors.toMap(m -> m.getKey().replaceAll("-Avg", ""), Map.Entry::getValue));
data.remove("time");
data.remove("entryTime");
+ Iterator<Map.Entry<String, Object>> iterator = data.entrySet().iterator();
+ Map<String, Object> newMap = new HashMap<>();
+ Map.Entry<String, Object> next;
+ while (iterator.hasNext()) {
+ next = iterator.next();
+ String key = next.getKey();
+ Object value = next.getValue();
+ if (key.contains("-Avg")) {
+ newMap.put(key.replaceAll("-Avg", ""), Double.parseDouble(value.toString()));
+ } else {
+ newMap.put(key, value);
+ }
+ iterator.remove();
+ }
//���������������
- historyHourlyService.insertHistoryHourly(data);
+ historyHourlyService.insertHistoryHourly(newMap);
ack.acknowledge();
} catch (Exception e) {
- //log.error("param{}" + msg);
+ log.error("param{}" + msg);
}
}
@@ -115,12 +133,12 @@
//������������
data = deviceService.adjustDeviceData(data);
//������redis
- redisTemplate.opsForValue().set(RedisConstants.DEVICE_DATA + mac, data);
+ redisTemplate.opsForHash().put(RedisConstants.DATA_SECOND, mac, data);
//���������������������������
deviceService.judgeDeviceState(data);
ack.acknowledge();
} catch (Exception e) {
- //log.error("param{}" + msg);
+ log.error("param{}" + msg);
}
}
}
--
Gitblit v1.8.0