From 1253e030e4b805f9f8adc3c664ad9de014670ad9 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Sat, 25 May 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