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