From 2c8ca9db2471c33943c20882061a2c87bb99d7f0 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Fri, 13 Oct 2023 09:32:53 +0800 Subject: [PATCH] fix:秒级数据调整 --- screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java | 65 ++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 20 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 c67827c..7002585 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; @@ -36,9 +35,6 @@ @Autowired private RedisTemplate redisTemplate; - - @Autowired - private HistorySecondSpecialService historySecondSpecialService; @Autowired private HistorySecondCruiserService historySecondCruiserService; @@ -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<>(); @@ -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; @@ -126,30 +141,41 @@ //������������������������������������������������������ @KafkaListener(topics = KafkaConstants.TOPIC_SECOND, containerFactory = "stateListenerContainerFactory") - public void listenSecond(ConsumerRecord<String, String> record) { + public void listenSecond(ConsumerRecord<String, String> record, Acknowledgment ack) { String msg = record.value(); try { + Map<String, Object> data = JSON.parseObject(msg, Map.class); Object mac = data.get("mac"); Object time = data.get("DataTime"); if (ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) { log.warn("some properties is null, param{}", msg); + ack.acknowledge(); return; + } + List<String> listDictDevice = Arrays.asList(deviceList.split(",")); + if(!listDictDevice.contains(mac.toString())){ + ack.acknowledge(); } //������������ data.remove("time"); data.remove("entryTime"); //������������ - data = deviceService.adjustDeviceData(data); + //data = deviceService.adjustDeviceData(data,"0"); //������redis data.put("DataTime", time); - redisTemplate.opsForHash().put(RedisConstants.DATA_SECOND, mac, data); + //redisTemplate.opsForHash().put(RedisConstants.DATA_SECOND, mac, data); //��������������������������� data.put("mac", mac); + ack.acknowledge(); deviceService.judgeDeviceState(data); + + }catch (CommitFailedException e){ + log.error("param{}" + msg); } catch (Exception e) { log.error("param{}" + msg); + ack.acknowledge(); } } @@ -157,7 +183,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 +205,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 +225,7 @@ historySecondCruiserService.insertHistorySecond(data); ack.acknowledge(); } catch (Exception e) { - log.error("param{}" + msg); + log.error("param{}" + e); } } } -- Gitblit v1.8.0