From 2d7896ecd6bcafb4c0457a83ee254ff2006481ce Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 14 十二月 2023 09:40:36 +0800 Subject: [PATCH] 优化 --- ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java | 29 ++++++++++++++++++++--------- 1 files changed, 20 insertions(+), 9 deletions(-) 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 306fb1c..2eb90d2 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 @@ -217,7 +217,14 @@ ardChannelService.insertArdChannel(channel); } //閰嶇疆鍒版祦濯掍綋 - for (int i = 1; i < m_stDeviceInfo.byChanNum + 1; i++) { + addVtdu(camera); + //鍒涘缓寮曞闃熷垪 + createGuideQueue(camera); + } + + //娣诲姞鍒版祦濯掍綋 + private void addVtdu(ArdCameras camera) { + for (int i = 1; i < camera.getChanNum() + 1; i++) { String name = camera.getId() + "_" + i; String rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/cam/realmonitor?channel=" + i + "&subtype=0"; Vtdu vtdu = vtduService.selectVtduByName(name); @@ -243,16 +250,20 @@ vtdu.setCameraId(camera.getId()); vtduService.insertVtdu(vtdu); } + } - //鍒涘缓寮曞闃熷垪 - 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); + //鍒涘缓寮曞闃熷垪 + 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()); + } } - //鍚姩闃熷垪澶勭悊鍣� - queueHandler.process(camera.getId()); } } -- Gitblit v1.9.3