From 55a4112533c958492078a5a94c90667e6cf5969c Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 13 四月 2024 10:39:22 +0800
Subject: [PATCH] 修改获取附近车辆bug 修改默认所有相机启动引导队列

---
 ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java |   16 ++++++----------
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java        |   16 +++++++++-------
 ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java      |   16 ++++++----------
 3 files changed, 21 insertions(+), 27 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index 4797f54..118dcdf 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -1364,13 +1364,15 @@
                 String carId = (String) carMap.get("carId");
                 Map<String, Object> carGPSTrack = sYClient.getCarNearPositionByCarId(syUrl, carId, ardSyUser.getUserId(), sessionId);
                 List<Map<String, Object>> carGPSMap = (List<Map<String, Object>>) carGPSTrack.get("list");
-                Double lng = Double.valueOf((String) carGPSMap.get(0).get("lng"));
-                Double lat = Double.valueOf((String) carGPSMap.get(0).get("lat"));
-                double distance = GisUtil.getDistance(new double[]{longitude, latitude}, new double[]{lng, lat});
-                if (distance <= radius) {
-                    carMap.put("longitude", lng);
-                    carMap.put("latitude", lat);
-                    filteredList.add(carMap); // 灏嗘弧瓒虫潯浠剁殑杞﹁締娣诲姞鍒扮瓫閫夊垪琛ㄤ腑
+                if(carGPSMap.size()>0) {
+                    Double lng = Double.valueOf((String) carGPSMap.get(0).get("lng"));
+                    Double lat = Double.valueOf((String) carGPSMap.get(0).get("lat"));
+                    double distance = GisUtil.getDistance(new double[]{longitude, latitude}, new double[]{lng, lat});
+                    if (distance <= radius) {
+                        carMap.put("longitude", lng);
+                        carMap.put("latitude", lat);
+                        filteredList.add(carMap); // 灏嗘弧瓒虫潯浠剁殑杞﹁締娣诲姞鍒扮瓫閫夊垪琛ㄤ腑
+                    }
                 }
             }
             return filteredList;
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
index 74f78c8..85e0da4 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
@@ -274,16 +274,12 @@
 
     //鍒涘缓寮曞闃熷垪
     private void createGuideQueue(ArdCameras camera) {
-        if (camera.getCamAlarmGuideEnable() != null) {
-            if (camera.getCamAlarmGuideEnable() == 1) {
-                if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) {
-                    Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator();
-                    PriorityBlockingQueue<GuideTask> priorityQueue = new PriorityBlockingQueue<>(1000, comparator);
-                    GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue);
-                    //鍚姩闃熷垪澶勭悊鍣�
-                    queueHandler.process(camera.getId());
-                }
-            }
+        if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) {
+            Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator();
+            PriorityBlockingQueue<GuideTask> priorityQueue = new PriorityBlockingQueue<>(1000, comparator);
+            GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue);
+            //鍚姩闃熷垪澶勭悊鍣�
+            queueHandler.process(camera.getId());
         }
     }
 
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
index 2d56529..b8dcd9c 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
@@ -287,16 +287,12 @@
 
     //鍒涘缓寮曞闃熷垪
     private void createGuideQueue(ArdCameras camera) {
-        if (camera.getCamAlarmGuideEnable() != null) {
-            if (camera.getCamAlarmGuideEnable() == 1) {
-                if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) {
-                    Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator();
-                    PriorityBlockingQueue<GuideTask> priorityQueue = new PriorityBlockingQueue<>(1000, comparator);
-                    GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue);
-                    //鍚姩闃熷垪澶勭悊鍣�
-                    queueHandler.process(camera.getId());
-                }
-            }
+        if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) {
+            Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator();
+            PriorityBlockingQueue<GuideTask> priorityQueue = new PriorityBlockingQueue<>(1000, comparator);
+            GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue);
+            //鍚姩闃熷垪澶勭悊鍣�
+            queueHandler.process(camera.getId());
         }
     }
 

--
Gitblit v1.9.3