From f22a5485cbe6563447ace9cf7939405f7e06c6a6 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期一, 13 十一月 2023 10:25:27 +0800 Subject: [PATCH] 车辆RTU --- ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java | 37 ++++++++++++++++++++++++++++++++----- 1 files changed, 32 insertions(+), 5 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java index 5010300..d89ef67 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java +++ b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java @@ -1,15 +1,19 @@ package com.ruoyi.utils.mqtt; -import com.ruoyi.alarm.global.service.impl.GlobalAlarmServiceImpl; -import com.ruoyi.alarm.radar.service.ArdRadarService; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.statistical.service.StatisticalService; -import com.ruoyi.storage.minio.service.IStorageMinioEventService; +import com.ruoyi.sy.domain.ArdSyCarLock; +import com.ruoyi.sy.domain.ArdSyCarRtu; +import com.ruoyi.sy.gps31.PositionContainer; +import com.ruoyi.sy.service.ArdSyCarLockService; +import com.ruoyi.sy.service.ArdSyCarRtuService; import lombok.extern.slf4j.Slf4j; import org.eclipse.paho.client.mqttv3.*; import java.nio.charset.StandardCharsets; -import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description: mqtt鍥炶皟澶勭悊绫� @@ -25,6 +29,9 @@ private MqttConnectOptions options; private String topic; private int qos; + //娉ㄥ叆鐢靛瓙閿丅ean + ArdSyCarRtuService carRtuService = SpringUtils.getBean(ArdSyCarRtuService.class); + ArdSyCarLockService carLockService = SpringUtils.getBean(ArdSyCarLockService.class); public MqttOnceCallback(MqttClient client, MqttConnectOptions options, String topic, int qos) { this.client = client; @@ -70,6 +77,26 @@ public void messageArrived(String topic, MqttMessage message) { try { // System.out.println("銆愯溅杈嗛攣涓婚銆戯細"+topic+"銆愯溅杈嗛攣淇℃伅銆戯細"+new String(message.getPayload(), StandardCharsets.UTF_8)); + //鍑烘潵鍥炶皟鏁版嵁 + List<ArdSyCarLock> ardSyCarLocks = carLockService.data(new String(message.getPayload(), StandardCharsets.UTF_8)); + //瀛樺叆闆嗗悎 + Map<String,List<ArdSyCarLock>> map = PositionContainer.getTopicSubscribe(); + if(map==null){ + Map<String,List<ArdSyCarLock>> newMap = new HashMap<>(); + newMap.put("topic",ardSyCarLocks); + PositionContainer.setTopicSubscribe(newMap); + }else { + for(Map.Entry entry : map.entrySet()){ + String mapTopic = (String) entry.getKey(); + if(topic.equals(mapTopic)){ + map.remove(entry.getKey()); + } + Map<String,List<ArdSyCarLock>> newMap = new HashMap<>(); + newMap.put("topic",ardSyCarLocks); + PositionContainer.setTopicSubscribe(newMap); + } + } + log.debug(String.valueOf(map)); } catch (Exception e) { log.debug("杞﹁締鐢电閿佸鐞唌qtt娑堟伅寮傚父:" + e); } -- Gitblit v1.9.3