From cd538c205628f28839323b49b7f77f33196a601f Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 11 七月 2024 15:50:42 +0800
Subject: [PATCH] 电磁锁操控加入判断速度为0提交

---
 ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java |   31 +++++++++++++++----------------
 1 files changed, 15 insertions(+), 16 deletions(-)

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 ed90621..0269e99 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
@@ -144,10 +144,6 @@
                     log.debug("Set fExceptionCallBack function successfully!");
                 }
             }
-
-//            if (GlobalVariable.loginMap.containsKey(camera.getId())) {
-//                GlobalVariable.loginMap.remove(camera.getId());
-//            }
             GlobalVariable.loginMap.put(camera.getId(), lUserID);
             GlobalVariable.loginCameraMap.put(lUserID, camera);
             camera.setLoginId(lUserID);
@@ -163,6 +159,10 @@
             //鑾峰彇鏈�鏂伴�氶亾
             List<ArdChannel> cameraChannelList = getChannels(camera);
             if (cameraChannelList.size() > 0) {
+                ardChannelService.deleteArdChannelByDeviceId(camera.getId());
+                cameraChannelList.stream().forEach(channel -> {
+                    ardChannelService.insertArdChannel(channel);
+                });
                 camera.setChannelList(cameraChannelList);
                 camera.setChanNum(cameraChannelList.size());
                 ardCamerasService.updateArdCameras(camera);
@@ -251,9 +251,7 @@
                     }
                 }
             }
-//            if (GlobalVariable.loginMap.containsKey(camera.getId())) {
-//                GlobalVariable.loginMap.remove(camera.getId());
-//            }
+
             GlobalVariable.loginMap.put(camera.getId(), lUserID);
             GlobalVariable.loginCameraMap.put(lUserID, camera);
             camera.setLoginId(lUserID);
@@ -269,6 +267,10 @@
             //鑾峰彇鏈�鏂伴�氶亾
             List<ArdChannel> cameraChannelList = getChannels(camera);
             if (cameraChannelList.size() > 0) {
+                ardChannelService.deleteArdChannelByDeviceId(camera.getId());
+                cameraChannelList.stream().forEach(channel -> {
+                    ardChannelService.insertArdChannel(channel);
+                });
                 camera.setChannelList(cameraChannelList);
                 camera.setChanNum(cameraChannelList.size());
                 ardCamerasService.updateArdCameras(camera);
@@ -300,17 +302,17 @@
     //娣诲姞鍒版祦濯掍綋
     private void addVtdu(ArdCameras camera) {
         try {
-            for (ArdChannel channel : camera.getChannelList()) {
+            camera.getChannelList().stream().forEach(channel->{
                 String name = camera.getId() + "_" + channel.getChanNo();
                 String rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/h264/ch" + channel.getChanNo() + "/main/av_stream";
-                Vtdu vtdu = vtduService.selectVtduByName(name);
-                if (vtdu != null) {
+                //鍒犻櫎娴佸獟浣�
+                if (vtduService.selectVtduByName(name) != null) {
                     vtduService.deleteVtduByName(name);
                 }
                 //娣诲姞鍒版祦濯掍綋
-                vtdu = new Vtdu();
+                Vtdu vtdu = new Vtdu();
                 vtdu.setRtspSource(rtspSource);
-                vtdu.setName(camera.getId() + "_" + channel.getChanNo());
+                vtdu.setName(name);
                 CameraCmd cmd = new CameraCmd(camera.getId(), channel.getChanNo());
                 Map<String, Object> videoCompressionCfg = getVideoCompressionCfg(cmd);
                 if (videoCompressionCfg.get("videoEncType").equals("鏍囧噯h264")) {
@@ -321,7 +323,7 @@
                 vtdu.setMode("1");//榛樿CPU杞В鐮�
                 vtdu.setCameraId(camera.getId());
                 vtduService.insertVtdu(vtdu);
-            }
+            });
         } catch (Exception ex) {
             log.error("閫氶亾娣诲姞鍒版祦濯掍綋寮傚父锛�" + ex.getMessage());
         }
@@ -1849,8 +1851,6 @@
         //鑾峰彇閫氶亾
         List<ArdChannel> channelList = new ArrayList<>();
         try {
-            //鍒犻櫎绠$悊閫氶亾
-            ardChannelService.deleteArdChannelByDeviceId(camera.getId());
             IntByReference ibrBytesReturned = new IntByReference(0);//鑾峰彇IP鎺ュ叆閰嶇疆鍙傛暟
             HCNetSDK.NET_DVR_IPPARACFG_V40 m_strIpparaCfg = new HCNetSDK.NET_DVR_IPPARACFG_V40();
             m_strIpparaCfg.write();
@@ -1891,7 +1891,6 @@
                     }
                     channelList.add(channel);
                 }
-                ardChannelService.insertArdChannel(channel);
             }
         } catch (Exception ex) {
             log.error("鑾峰彇IP閫氶亾寮傚父:" + ex.getMessage());

--
Gitblit v1.9.3