From 1253e030e4b805f9f8adc3c664ad9de014670ad9 Mon Sep 17 00:00:00 2001 From: liusuyi <1951119284@qq.com> Date: 星期六, 25 五月 2024 17:22:39 +0800 Subject: [PATCH] 优化 --- ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java | 16 +++---- ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java | 1 ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java | 67 ++++++++------------------------- 3 files changed, 24 insertions(+), 60 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java index 7efaa05..ac9bcd0 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java +++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java @@ -17,6 +17,7 @@ NET_DVR_NETWORK_SEND_ERROR(8, "鍚戣澶囧彂閫佸け璐�"), NET_DVR_NETWORK_RECV_TIMEOUT(10, "浠庤澶囨帴鏀舵暟鎹秴鏃�"), NET_DVR_NETWORK_ERRORDATA(11, "浼犻�佺殑鏁版嵁鏈夎銆傚彂閫佺粰璁惧鎴栬�呬粠璁惧鎺ユ敹鍒扮殑鏁版嵁閿欒锛屽杩滅▼鍙傛暟閰嶇疆鏃惰緭鍏ヨ澶囦笉鏀寔鐨勫��"), + NET_DVR_NOSUPPORT(23, "璁惧涓嶆敮鎸�"), NET_DVR_DVROPRATEFAILED(29, "璁惧鎿嶄綔澶辫触"), NET_DVR_USERNOTEXIST(47, "鐢ㄦ埛涓嶅瓨鍦ㄣ�傛敞鍐岀殑鐢ㄦ埛ID宸叉敞閿�鎴栦笉鍙敤"); /** 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 15cd216..e374b7a 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 @@ -123,58 +123,22 @@ NetSDKLib.AV_CFG_ChannelName av_cfg_channelName = new NetSDKLib.AV_CFG_ChannelName(); boolean b = ConfigModule.GetNewDevConfig(loginId, i - 1, CFG_CMD_CHANNELTITLE, av_cfg_channelName); if (b) { - String chanName = null; + String chanName = ""; try { chanName = new String(av_cfg_channelName.szName, "GBK").trim(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } - channel.setName(chanName); - } else { - channel.setName("閫氶亾" + i); + channel.setName(chanName.equals("") ? "閫氶亾" + i : chanName); } channel.setDeviceId(camera.getId()); channel.setChanNo(i); ardChannelService.insertArdChannel(channel); } //閰嶇疆鍒版祦濯掍綋 - for (int i = 1; i < m_stDeviceInfo.byChanNum + 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); - if (vtdu != null) { - vtduService.deleteVtduByName(name); - } - //娣诲姞鍒版祦濯掍綋 - CameraCmd cmd = new CameraCmd(camera.getId(), i); - Map<String, Object> videoCompressionCfg = getVideoCompressionCfg(cmd); - vtdu = new Vtdu(); - if (videoCompressionCfg.get("videoEncType") != null) { - if (videoCompressionCfg.get("videoEncType").equals("鏍囧噯h264")) { - vtdu.setIsCode("0");//榛樿涓嶈浆鐮� - } else { - vtdu.setIsCode("1");//榛樿杞爜 - } - } else { - vtdu.setIsCode("0");//榛樿涓嶈浆鐮� - } - vtdu.setRtspSource(rtspSource); - vtdu.setName(camera.getId() + "_" + i); - vtdu.setMode("1");//榛樿CPU杞В鐮� - vtdu.setCameraId(camera.getId()); - vtduService.insertVtdu(vtdu); - } - + addVtdu(camera); //鍒涘缓寮曞闃熷垪 - if (camera.getCamAlarmGuideEnable() != null && 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()); - } + createGuideQueue(camera); return AjaxResult.success("璁惧鐧诲綍鎴愬姛"); } catch (Exception ex) { log.error("璁惧鐧诲綍寮傚父:" + ex.getMessage()); @@ -215,18 +179,19 @@ for (int i = 1; i < m_stDeviceInfo.byChanNum + 1; i++) { ArdChannel channel = new ArdChannel(); NetSDKLib.AV_CFG_ChannelName av_cfg_channelName = new NetSDKLib.AV_CFG_ChannelName(); - boolean b = ConfigModule.GetNewDevConfig(loginId, i - 1, CFG_CMD_CHANNELTITLE, av_cfg_channelName); - if (b) { - String chanName = null; - try { - chanName = new String(av_cfg_channelName.szName, "GBK").trim(); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - channel.setName(chanName); - } else { - channel.setName("閫氶亾" + i); + boolean b = ConfigModule.GetNewDevConfig(loginId, i-1, CFG_CMD_CHANNELTITLE, av_cfg_channelName); + if (!b) { + log.error("鑾峰彇閰嶇疆澶辫触,璇风◢鍚庨噸璇�" + getErrorCodePrint()); + // return AjaxResult.warn(ErrorCode.getErrorCode(LoginModule.netsdk.CLIENT_GetLastError())); } + String chanName = ""; + try { + chanName = new String(av_cfg_channelName.szName, "GBK").trim(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + channel.setName(chanName.equals("") ? "閫氶亾" + i : chanName); + channel.setDeviceId(camera.getId()); channel.setChanNo(i); ardChannelService.insertArdChannel(channel); 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 3b0c5ce..cd34865 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 @@ -161,20 +161,17 @@ List<ArdChannel> cameraChannelList = getIPChannelInfo(camera); if (cameraChannelList.size() > 0) { camera.setChannelList(cameraChannelList); + camera.setChanNum(cameraChannelList.size()); for (ArdChannel channel : cameraChannelList) { channel.setId(IdUtils.simpleUUID()); ardChannelService.insertArdChannel(channel); } + ardCamerasService.updateArdCameras(camera); //娣诲姞鍒版祦濯掍綋 addVtdu(camera); } //鍒涘缓寮曞闃熷垪 - if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) { - Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator(); - PriorityBlockingQueue<GuideTask> priorityQueue = new PriorityBlockingQueue<>(1000, comparator); - GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue); - } - ardCamerasService.updateArdCameras(camera); + createGuideQueue(camera); return AjaxResult.success("璁惧鐧诲綍鎴愬姛"); } catch (Exception ex) { log.error("璁惧鐧诲綍寮傚父", ex); @@ -284,10 +281,11 @@ channel.setId(IdUtils.simpleUUID()); ardChannelService.insertArdChannel(channel); } + ardCamerasService.updateArdCameras(camera); + //娣诲姞鍒版祦濯掍綋 + addVtdu(camera); } - ardCamerasService.updateArdCameras(camera); - //娣诲姞鍒版祦濯掍綋 - addVtdu(camera); + //鍒涘缓寮曞闃熷垪 createGuideQueue(camera); return AjaxResult.success("璁惧鐧诲綍鎴愬姛"); -- Gitblit v1.9.3