From ad89fdba09b8f0596ed41c5b31de6f34fe1ce620 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 10 八月 2023 17:20:41 +0800
Subject: [PATCH] 优化行为分析信息报警

---
 src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java |   63 ++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java b/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
index 5e9590d..428c3fe 100644
--- a/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
+++ b/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
@@ -3,7 +3,8 @@
 import com.ard.alarm.camera.domain.ArdCameras;
 import com.ard.alarm.camera.domain.CameraCmd;
 import com.ard.alarm.external.domain.ArdEquipExternal;
-import com.ard.utils.ByteUtils;
+import com.ard.config.MinioClientSingleton;
+import com.ard.utils.other.ByteUtils;
 import com.ard.utils.hiksdk.common.GlobalVariable;
 import com.ard.utils.hiksdk.domain.DeviceInfo;
 import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK;
@@ -13,13 +14,10 @@
 import com.sun.jna.Pointer;
 import com.sun.jna.ptr.IntByReference;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
 
 import java.io.*;
 import java.nio.ByteBuffer;
 import java.util.*;
-
 
 
 /**
@@ -173,6 +171,7 @@
             log.info("鐧诲綍寮傚父锛�" + errorCode);
         }
     }
+
     /**
      * @鎻忚堪 鐧诲綍鎵�鏈夌浉鏈�
      * @鍙傛暟 []
@@ -185,7 +184,7 @@
         try {
             for (ArdCameras camera : ardCameras) {
                 Thread.sleep(100);
-                DeviceInfo info=new DeviceInfo();
+                DeviceInfo info = new DeviceInfo();
                 info.setDeviceId(camera.getId());
                 info.setIp(camera.getIp());
                 info.setPort(camera.getPort());
@@ -199,6 +198,7 @@
             log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
         }
     }
+
     /**
      * @鎻忚堪 鐧诲綍鎵�鏈夋姤璀︿富鏈�
      * @鍙傛暟 []
@@ -211,7 +211,7 @@
         try {
             for (ArdEquipExternal alarmHost : ardEquipExternals) {
                 Thread.sleep(100);
-                DeviceInfo info=new DeviceInfo();
+                DeviceInfo info = new DeviceInfo();
                 info.setDeviceId(alarmHost.getId());
                 info.setIp(alarmHost.getIp());
                 info.setPort(alarmHost.getPort());
@@ -227,6 +227,33 @@
     }
 
     /**
+     * @鎻忚堪 鐧诲綍鎵�鏈夐棬绂佷富鏈�
+     * @鍙傛暟 []
+     * @杩斿洖鍊� void
+     * @鍒涘缓浜� 鍒樿嫃涔�
+     * @鍒涘缓鏃堕棿 2023/2/3 10:10
+     * @淇敼浜哄拰鍏跺畠淇℃伅
+     */
+    public static void loginAllAccessControlHost(List<ArdEquipExternal> ardEquipExternals) {
+        try {
+            for (ArdEquipExternal accessControlHost : ardEquipExternals) {
+                Thread.sleep(100);
+                DeviceInfo info = new DeviceInfo();
+                info.setDeviceId(accessControlHost.getId());
+                info.setIp(accessControlHost.getIp());
+                info.setPort(accessControlHost.getPort());
+                info.setUsername(accessControlHost.getUsername());
+                info.setPassword(accessControlHost.getPassword());
+                login(info);
+                String ip = accessControlHost.getIp();
+                GlobalVariable.alarmHostMap.put(ip, accessControlHost);
+            }
+        } catch (Exception ex) {
+            log.error("鍒濆鍖栨姤璀︿富鏈哄紓甯革細" + ex.getMessage());
+        }
+    }
+
+    /**
      * @鎻忚堪 娉ㄩ攢鐧诲綍
      * @鍙傛暟 [dvrLogin]
      * @杩斿洖鍊� java.lang.Integer
@@ -234,7 +261,6 @@
      * @鍒涘缓鏃堕棿 2023/1/17 16:12
      * @淇敼浜哄拰鍏跺畠淇℃伅
      */
-
     public static boolean loginOut(String cameraId) {
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
@@ -252,7 +278,6 @@
      *
      * @param cmd
      */
-
     public static boolean isOnLine(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
@@ -269,10 +294,10 @@
      * @param lUserID      鍞竴鏍囪瘑绗�
      * @param lAlarmHandle 鎶ヨ澶勭悊鍣�
      */
-    public static int setupAlarmChan(int lUserID, int lAlarmHandle) {
+    public static int setupAlarmChan(String deviceIpPort, int lUserID, int lAlarmHandle) {
         // 鏍规嵁璁惧娉ㄥ唽鐢熸垚鐨刲UserID寤虹珛甯冮槻鐨勪笂浼犻�氶亾锛屽嵆鏁版嵁鐨勪笂浼犻�氶亾
         if (lUserID == -1) {
-            log.info("璇峰厛娉ㄥ唽");
+            log.error("璇峰厛娉ㄥ唽");
             return lUserID;
         }
         if (lAlarmHandle < 0) {
@@ -280,7 +305,7 @@
             if (fMSFCallBack_V31 == null) {
                 fMSFCallBack_V31 = new FMSGCallBack();
                 if (!hCNetSDK.NET_DVR_SetDVRMessageCallBack_V50(0, fMSFCallBack_V31, null)) {
-                    log.info("璁剧疆鍥炶皟鍑芥暟澶辫触!閿欒鐮�==========銆�" + hCNetSDK.NET_DVR_GetLastError());
+                    log.error("璁剧疆鍥炶皟鍑芥暟澶辫触!閿欒鐮�==========銆�" + hCNetSDK.NET_DVR_GetLastError());
                 }
             }
             // 杩欓噷闇�瑕佸璁惧杩涜鐩稿簲鐨勫弬鏁拌缃紝涓嶈缃垨璁剧疆閿欒閮戒細瀵艰嚧璁惧娉ㄥ唽澶辫触
@@ -296,12 +321,12 @@
             // 甯冮槻鎴愬姛锛岃繑鍥炲竷闃叉垚鍔熺殑鏁版嵁浼犺緭閫氶亾鍙�
             lAlarmHandle = hCNetSDK.NET_DVR_SetupAlarmChan_V41(lUserID, m_strAlarmInfo);
             if (lAlarmHandle == -1) {
-                log.error("璁惧甯冮槻澶辫触锛岄敊璇爜==========銆�" + hCNetSDK.NET_DVR_GetLastError());
+                log.error("璁惧銆�" + deviceIpPort + "銆戝竷闃插け璐ワ紝閿欒鐮�==========銆�" + hCNetSDK.NET_DVR_GetLastError());
                 // 娉ㄩ攢 閲婃斁sdk璧勬簮
                 logout(lUserID);
                 return lAlarmHandle;
             } else {
-                log.info("璁惧甯冮槻鎴愬姛");
+                log.debug("璁惧銆�" + deviceIpPort + "銆戝竷闃叉垚鍔�");
                 return lAlarmHandle;
             }
         }
@@ -361,13 +386,14 @@
             InputStream input = new ByteArrayInputStream(array);
             String url = "";
             try {
-                boolean b = MinioUtils.uploadObject(cmd.getBucketName(), cmd.getObjectName(), input, input.available(), ContentType);
+                boolean b = MinioUtils.uploadObject(cmd.getBucketName(), cmd.getObjectName(), input, ContentType);
                 if (b) {
-                    url = MinioUtils.getBucketObjectUrl(cmd.getBucketName(), cmd.getObjectName());
-                    url = url.indexOf('?') != -1 ? url.substring(0, url.indexOf('?')) : url;
+                    // url = MinioUtils.getBucketObjectUrl(cmd.getBucketName(), cmd.getObjectName());
+                    // url = url.indexOf('?') != -1 ? url.substring(0, url.indexOf('?')) : url;
+                    url = MinioClientSingleton.domainUrl + "/" + cmd.getBucketName() + "/" + cmd.getObjectName();
                     log.debug("涓婁紶鏂囦欢鎴愬姛!" + url);
                 }
-            } catch (IOException ex) {
+            } catch (Exception ex) {
                 log.error("涓婁紶鏂囦欢寮傚父锛�" + ex.getMessage());
             }
             return url;
@@ -385,7 +411,7 @@
      * 2023/7/6 10:48
      */
     public static String getDefenseZoneName(CameraCmd cmd) {
-        String name="";
+        String name = "";
         try {
             String cameraId = cmd.getCameraId();
             Integer channelNum = cmd.getWZoneIndex();//閫氶亾鍙�==闃插尯鍙�
@@ -411,6 +437,5 @@
         }
         return name;
     }
-
 
 }
\ No newline at end of file

--
Gitblit v1.9.3