From 120e5ad109a505f53461593630edbaaf2f169a65 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期六, 29 三月 2025 11:21:11 +0800
Subject: [PATCH] 检查hik设备的设备状态,不在线的话,在调用之前重连,重新分配编号

---
 src/main/java/com/whyc/util/HikTempUtil.java |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/util/HikTempUtil.java b/src/main/java/com/whyc/util/HikTempUtil.java
index c6d89d1..c72fbe5 100644
--- a/src/main/java/com/whyc/util/HikTempUtil.java
+++ b/src/main/java/com/whyc/util/HikTempUtil.java
@@ -18,6 +18,8 @@
 import java.nio.ByteOrder;
 import java.util.*;
 
+import static com.whyc.hik.NetSDKDemo.HCNetSDK.NET_DVR_CHECK_USER_STATUS;
+
 @Service
 public class HikTempUtil {
 
@@ -44,6 +46,15 @@
 
     public static Response getTempPoint(String ip){
         Integer lUserID = ipLUserIdMap.get(ip);
+        boolean isOnline = hCNetSDK.NET_DVR_RemoteControl(lUserID, NET_DVR_CHECK_USER_STATUS, null, 0);
+        if (!isOnline){ //璁惧涓嶅湪绾�,璇存槑璺熻澶囩殑杩炴帴宸茬粡澶辫触,閲嶆柊寤虹珛杩炴帴
+            lUserID = loginDevice(ip, (short) 8000, "admin", "fg001@hdw");
+            if(lUserID == -1){
+                return new Response().set(1,false,"鐧诲綍澶辫触,鏃犳硶寤虹珛涓庤澶囩殑杩炴帴,璇锋鏌ョ綉缁�");
+            }else{
+                ipLUserIdMap.put(ip,lUserID);
+            }
+        }
         //hCNetSDK.NET_DVR_STDXMLConfig(lUserID, "<?xml version=\"1.0\" encoding=\"GB2312\"?><GetDeviceInfo><dwSize>0</dwSize></GetDeviceInfo>", "GetDeviceInfo", 1000);
 
         /*========== 绾㈠ 鎶撳浘娴嬫俯 Start==========*/

--
Gitblit v1.9.1