From d873828ae4b9d4fc6ad510513c6c3f0c33118fd8 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 30 Dec 2025 11:32:06 +0800
Subject: [PATCH] 优化

---
 ard-device/src/main/java/com/ard/device/component/sdk/dh/service/impl/DaHuaSDK.java |   39 +++++++++++++++------------------------
 1 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/ard-device/src/main/java/com/ard/device/component/sdk/dh/service/impl/DaHuaSDK.java b/ard-device/src/main/java/com/ard/device/component/sdk/dh/service/impl/DaHuaSDK.java
index 54fa4d5..84468ce 100644
--- a/ard-device/src/main/java/com/ard/device/component/sdk/dh/service/impl/DaHuaSDK.java
+++ b/ard-device/src/main/java/com/ard/device/component/sdk/dh/service/impl/DaHuaSDK.java
@@ -17,6 +17,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import java.io.*;
@@ -102,7 +103,8 @@
     public void login(ArdCamera camera) {
         try {
             NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex();
-            NetSDKLib.LLong loginId = LoginModule.login(camera.getIp(), camera.getPort(), camera.getUsername(), camera.getPassword(), m_stDeviceInfo);
+            NetSDKLib.LLong loginId = LoginModule.login(camera.getIp(), camera.getPort(), camera.getUsername(),
+                    camera.getPassword(), m_stDeviceInfo);
             if (loginId.longValue() <= 0) {
                 camera.setChanNum(0);
                 camera.setLoginId(-1L);
@@ -116,7 +118,7 @@
             camera.setChanNum(m_stDeviceInfo.byChanNum);
             camera.setStartChan(1);
             camera.setLoginId(loginId.longValue());
-            GlobalVariable.loginMap.put(camera.getId(), loginId);
+
             //获取最新通道
             List<ArdChannel> ardChannelList = getChannels(camera);
             if (!ardChannelList.isEmpty()) {
@@ -135,11 +137,8 @@
      * 2023/10/17 8:28:13
      */
     @Override
-    public void logout(String cameraId) {
-        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return;
-        }
-        NetSDKLib.LLong loginId = (NetSDKLib.LLong) GlobalVariable.loginMap.get(cameraId);
+    public void logout(ArdCamera ardCamera) {
+        NetSDKLib.LLong loginId = new NetSDKLib.LLong(ardCamera.getLoginId());
         LoginModule.logout(loginId);
     }
 
@@ -149,13 +148,9 @@
      * 2023/10/17 8:28:13
      */
     @Override
-    public boolean isOnLine(CameraCmd cmd) {
+    public boolean isOnLine(ArdCamera ardCamera) {
         try {
-            String cameraId = cmd.getCameraId();
-            if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-                return false;
-            }
-            NetSDKLib.LLong loginId = (NetSDKLib.LLong) GlobalVariable.loginMap.get(cameraId);
+            NetSDKLib.LLong loginId = new NetSDKLib.LLong(ardCamera.getLoginId());
             NetSDKLib.NET_WORKSTATE dh_ptz_location_info = new NetSDKLib.NET_WORKSTATE();
             boolean b = ConfigModule.queryDevState(loginId, NET_DEVSTATE_ONLINE, dh_ptz_location_info);
             if (!b) {
@@ -185,8 +180,8 @@
             channel.setDeviceId(camera.getId());
             channel.setChanNo(i);
             //获取视频编码
-            CameraCmd cameraCmd = new CameraCmd(camera.getId(), channel.getChanNo());
-            VideoCompressionCfg videoCompressionCfg = getVideoCompressionCfg(cameraCmd);
+            camera.setChanNo(i);
+            VideoCompressionCfg videoCompressionCfg = getVideoCompressionCfg(camera);
             if (StringUtils.isNotNull(videoCompressionCfg)) {
                 channel.setVideoCode(videoCompressionCfg.getVideoEncType());
             }
@@ -202,16 +197,12 @@
     }
 
     @Override
-    public VideoCompressionCfg getVideoCompressionCfg(CameraCmd cmd) {
-        String cameraId = cmd.getCameraId();
-        Integer chanNo = cmd.getChanNo();
-        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return null;
-        }
-        NetSDKLib.LLong loginId = (NetSDKLib.LLong) GlobalVariable.loginMap.get(cameraId);
+    public VideoCompressionCfg getVideoCompressionCfg(ArdCamera ardCamera) {
+
+        NetSDKLib.LLong loginId = new NetSDKLib.LLong(ardCamera.getLoginId());
         NetSDKLib.CFG_ENCODE_INFO cfg_encode_info = new NetSDKLib.CFG_ENCODE_INFO();
-        cfg_encode_info.nChannelID = chanNo - 1;
-        boolean b = ConfigModule.GetNewDevConfig(loginId, chanNo - 1, CFG_CMD_ENCODE, cfg_encode_info);
+        cfg_encode_info.nChannelID = ardCamera.getChanNo() - 1;
+        boolean b = ConfigModule.GetNewDevConfig(loginId, ardCamera.getChanNo() - 1, CFG_CMD_ENCODE, cfg_encode_info);
         if (b) {
             int emCompression = cfg_encode_info.stuMainStream[0].stuVideoFormat.emCompression;//视频格式
             String videoEncType;

--
Gitblit v1.9.3