From c7dd4a195d8d893d92c49963447cdf6486844584 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 20 Oct 2023 09:45:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into cjl
---
screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java | 78 ++++++++++++++++++++++++--------------
1 files changed, 49 insertions(+), 29 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java b/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
index 8156f7f..886bc72 100644
--- a/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
+++ b/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
@@ -1,30 +1,29 @@
package com.moral.api.kafka.consumer;
+import com.alibaba.fastjson.JSON;
import com.moral.api.service.*;
+import com.moral.constant.KafkaConstants;
+import com.moral.constant.RedisConstants;
import lombok.extern.slf4j.Slf4j;
+import org.apache.kafka.clients.consumer.CommitFailedException;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.support.Acknowledgment;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
+import java.util.*;
-import com.alibaba.fastjson.JSON;
-import com.moral.constant.KafkaConstants;
-import com.moral.constant.RedisConstants;
-/*
- * ���������������������
- * */
@Component
@Slf4j
public class DeviceConsumer {
+ @Value("${result.device.list}")
+ private String deviceList;
@Autowired
private HistoryMinutelyService historyMinutelyService;
@@ -38,16 +37,13 @@
private RedisTemplate redisTemplate;
@Autowired
- private HistorySecondSpecialService historySecondSpecialService;
-
- @Autowired
private HistorySecondCruiserService historySecondCruiserService;
@Autowired
private HistorySecondUavService historySecondUavService;
//������������
- //@KafkaListener(topics = KafkaConstants.TOPIC_MINUTE, containerFactory = "insertListenerContainerFactory")
+ @KafkaListener(topics = KafkaConstants.TOPIC_MINUTE, containerFactory = "insertListenerContainerFactory")
public void listenMinute(ConsumerRecord<String, String> record, Acknowledgment ack) {
String msg = record.value();
try {
@@ -61,7 +57,7 @@
}
//������������
- data.remove("time");
+// data.remove("time");
data.remove("entryTime");
Iterator<Map.Entry<String, Object>> iterator = data.entrySet().iterator();
Map<String, Object> newMap = new HashMap<>();
@@ -86,7 +82,7 @@
}
//������������
- //@KafkaListener(topics = KafkaConstants.TOPIC_HOUR, containerFactory = "insertListenerContainerFactory")
+ @KafkaListener(topics = KafkaConstants.TOPIC_HOUR, containerFactory = "insertListenerContainerFactory")
public void listenHour(ConsumerRecord<String, String> record, Acknowledgment ack) {
String msg = record.value();
try {
@@ -100,8 +96,27 @@
}
//������������
- data.remove("time");
+// data.remove("time");
data.remove("entryTime");
+ Map<String, Object> deviceByMac = deviceService.getDeviceByMac(mac.toString());
+ HashMap<String, Object> map = (HashMap<String, Object>) deviceByMac.get("organization");
+ String id = map.get("id").toString();
+ if (id.equals("71")){
+ log.warn(id, msg);
+ ack.acknowledge();
+ return;
+ }
+// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+// String format = dateFormat.format(new Date().getTime());
+// //������������
+// String substring = format.substring(0, 4);
+//
+// String substring1 = time.toString().substring(0, 4);
+//
+// String replace = time.toString().replace(substring1, substring);
+//
+// data.put("DataTime",replace);
+
Iterator<Map.Entry<String, Object>> iterator = data.entrySet().iterator();
Map<String, Object> newMap = new HashMap<>();
Map.Entry<String, Object> next;
@@ -125,10 +140,11 @@
}
//������������������������������������������������������
- //@KafkaListener(topics = KafkaConstants.TOPIC_SECOND, containerFactory = "stateListenerContainerFactory")
- public void listenSecond(ConsumerRecord<String, String> record) {
+ @KafkaListener(topics = KafkaConstants.TOPIC_SECOND, containerFactory = "stateListenerContainerFactory")
+ public void listenSecond(ConsumerRecord<String, String> record, Acknowledgment ack) {
String msg = record.value();
try {
+ ack.acknowledge();
Map<String, Object> data = JSON.parseObject(msg, Map.class);
Object mac = data.get("mac");
Object time = data.get("DataTime");
@@ -139,17 +155,22 @@
//������������
data.remove("time");
data.remove("entryTime");
-
- //������������
- data = deviceService.adjustDeviceData(data);
- //������redis
data.put("DataTime", time);
- redisTemplate.opsForHash().put(RedisConstants.DATA_SECOND, mac, data);
- //���������������������������
- data.put("mac", mac);
- deviceService.judgeDeviceState(data);
+ List<String> listDictDevice = Arrays.asList(deviceList.split(","));
+ if(listDictDevice.contains(mac.toString())){
+ //���������������������������
+ data.put("mac", mac);
+ deviceService.judgeDeviceState(data);
+ }
+ //������������
+ //data = deviceService.adjustDeviceData(data,"0");
+ //������redis
+ //redisTemplate.opsForHash().put(RedisConstants.DATA_SECOND, mac, data);
+ }catch (CommitFailedException e){
+ log.error("param{}" + msg);
} catch (Exception e) {
log.error("param{}" + msg);
+ ack.acknowledge();
}
}
@@ -157,7 +178,6 @@
@KafkaListener(topics = KafkaConstants.UAV_TOPIC_SECOND, groupId = KafkaConstants.GROUP_INSERT, containerFactory = "insertListenerContainerFactory")
public void listenSecondSpecial(ConsumerRecord<String, String> record, Acknowledgment ack) {
String msg = record.value();
- System.out.println(msg);
try {
Map<String, Object> data = JSON.parseObject(msg, Map.class);
Object mac = data.get("mac");
@@ -180,7 +200,7 @@
}
//������������������
- @KafkaListener(topics = KafkaConstants.CRUISER_TOPIC_SECOND, groupId = KafkaConstants.GROUP_INSERT, containerFactory = "insertListenerContainerFactory")
+ @KafkaListener(topics = KafkaConstants.CRUISER_TOPIC_SECOND, containerFactory = "insertListenerContainerFactory")
public void listenSecondCruiser(ConsumerRecord<String, String> record, Acknowledgment ack) {
String msg = record.value();
try {
@@ -200,7 +220,7 @@
historySecondCruiserService.insertHistorySecond(data);
ack.acknowledge();
} catch (Exception e) {
- log.error("param{}" + msg);
+ log.error("param{}" + e);
}
}
}
--
Gitblit v1.8.0