From 4e8a1c02b45f72f6377603778e8c8746ed82f374 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 06 Jan 2026 10:04:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-device/src/main/java/com/ard/device/component/sdk/hik/service/impl/HikVisionSDK.java |   40 +++++++++++-----------------------------
 1 files changed, 11 insertions(+), 29 deletions(-)

diff --git a/ard-device/src/main/java/com/ard/device/component/sdk/hik/service/impl/HikVisionSDK.java b/ard-device/src/main/java/com/ard/device/component/sdk/hik/service/impl/HikVisionSDK.java
index c146539..728245a 100644
--- a/ard-device/src/main/java/com/ard/device/component/sdk/hik/service/impl/HikVisionSDK.java
+++ b/ard-device/src/main/java/com/ard/device/component/sdk/hik/service/impl/HikVisionSDK.java
@@ -9,6 +9,7 @@
 import com.ard.device.component.sdk.common.ResolutionEnum;
 import com.ard.device.component.sdk.common.SdkErrorCodeEnum;
 import com.ard.device.component.sdk.common.osSelect;
+import com.ard.device.component.sdk.dh.lib.NetSDKLib;
 import com.ard.device.component.sdk.event.LoginEvent;
 import com.ard.device.component.sdk.hik.lib.ExceptionCallBack;
 import com.ard.device.component.sdk.hik.lib.HCNetSDK;
@@ -109,8 +110,6 @@
                 return;
             }
             log.info("Login Success 【 {}:{} 】", camera.getIp(), camera.getPort());
-
-            GlobalVariable.loginMap.put(camera.getId(), loginId);
             GlobalVariable.hikLoginMap.put(loginId, camera);
             camera.setLoginId((long) loginId);
             camera.setState("1");
@@ -138,26 +137,15 @@
      * 注销
      */
     @Override
-    public void logout(String cameraId) {
-        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return;
-        }
-        Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
-        boolean b = hCNetSDK.NET_DVR_Logout(userId);
-        if (b) {
-            GlobalVariable.loginMap.remove(cameraId);
-        }
+    public void logout(ArdCamera ardCamera) {
+
+        hCNetSDK.NET_DVR_Logout(ardCamera.getLoginId().intValue());
     }
 
     @Override
-    public boolean isOnLine(CameraCmd cmd) {
+    public boolean isOnLine(ArdCamera ardCamera) {
         try {
-            String cameraId = cmd.getCameraId();
-            if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-                return false;
-            }
-            Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
-            return hCNetSDK.NET_DVR_RemoteControl(userId, NET_DVR_CHECK_USER_STATUS, null, 0);
+            return hCNetSDK.NET_DVR_RemoteControl(ardCamera.getLoginId().intValue(), NET_DVR_CHECK_USER_STATUS, null, 0);
         } catch (Exception ex) {
             log.error("检测在线异常:{}", ex.getMessage());
             return false;
@@ -169,19 +157,13 @@
      *
      */
     @Override
-    public VideoCompressionCfg getVideoCompressionCfg(CameraCmd cmd) {
-        String cameraId = cmd.getCameraId();
-        Integer chanNo = cmd.getChanNo();
-        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return null;
-        }
-        Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
-
+    public VideoCompressionCfg getVideoCompressionCfg(ArdCamera ardCamera) {
+        Integer chanNo = ardCamera.getChanNo();
+        int userId = ardCamera.getLoginId().intValue();
         HCNetSDK.NET_DVR_COMPRESSIONCFG_V30 compressionCfg = new HCNetSDK.NET_DVR_COMPRESSIONCFG_V30();
         compressionCfg.write();
         Pointer point = compressionCfg.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
-
         boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, HCNetSDK.NET_DVR_GET_COMPRESSCFG_V30, chanNo, point,
                 compressionCfg.size(), ibrBytesReturned);
         if (bool) {
@@ -432,8 +414,8 @@
                     channel.setName(channelName);
                     channel.setChanNo(chanNo);
                     //获取视频编码
-                    CameraCmd cameraCmd = new CameraCmd(camera.getId(), chanNo);
-                    VideoCompressionCfg videoCompressionCfg = getVideoCompressionCfg(cameraCmd);
+                    camera.setChanNo(chanNo);
+                    VideoCompressionCfg videoCompressionCfg = getVideoCompressionCfg(camera);
                     if (StringUtils.isNotNull(videoCompressionCfg)) {
                         channel.setVideoCode(videoCompressionCfg.getVideoEncType());
                     }

--
Gitblit v1.9.3