From 757f7e5256ef3cd48cb7887f4e1f8fd4ecff1b14 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 12 六月 2023 15:31:23 +0800
Subject: [PATCH] 修复sdk错误码56的错误 相机登录修改为异步登录

---
 ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/LoginResultCallBack.java |   47 +++++++++
 ard-work/src/main/resources/templates/test.html                                         |    2 
 ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java     |   17 ---
 ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java                   |    1 
 pom.xml                                                                                 |    1 
 ruoyi-admin/src/main/resources/application.yml                                          |    2 
 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java           |    2 
 ard-work/pom.xml                                                                        |   10 --
 ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java                              |    1 
 /dev/null                                                                               |   94 ------------------
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java              |    2 
 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java   |   94 ++++++++++++------
 ruoyi-admin/src/main/resources/application-ard.yml                                      |    2 
 13 files changed, 120 insertions(+), 155 deletions(-)

diff --git a/ard-work/pom.xml b/ard-work/pom.xml
index 004fd48..4df3ac9 100644
--- a/ard-work/pom.xml
+++ b/ard-work/pom.xml
@@ -30,21 +30,11 @@
             <groupId>net.java.jna</groupId>
             <artifactId>jna</artifactId>
             <version>1.0.0</version>
-<!--            <groupId>com.sun.jna</groupId>-->
-<!--            <artifactId>yx</artifactId>-->
-<!--            <version>0.0.1</version>-->
-<!--            <scope>system</scope>-->
-<!--            <systemPath>${project.basedir}/lib/jna.jar</systemPath>-->
         </dependency>
         <dependency>
             <groupId>net.java.examples</groupId>
             <artifactId>examples</artifactId>
             <version>1.0.0</version>
-<!--            <groupId>com.sun.jna.examples</groupId>-->
-<!--            <artifactId>yx</artifactId>-->
-<!--            <version>0.0.1</version>-->
-<!--            <scope>system</scope>-->
-<!--            <systemPath>${project.basedir}/lib/examples.jar</systemPath>-->
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
diff --git a/ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java b/ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java
index 9a271b0..dec4799 100644
--- a/ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java
+++ b/ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java
@@ -14,5 +14,6 @@
     public static Map<String,Object> priorityMap=new HashMap<>();
     static {
         priorityMap.put("sys_radar_fire",999);
+        priorityMap.put("sys_tube_leak",998);
     }
 }
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
index b62c1b4..1e98e6f 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
@@ -97,14 +97,7 @@
         //娉ㄩ攢
         sdk.loginOut(camera.getId());
         //鐧诲綍
-        camera = sdk.login(camera);
-        if (camera.getLoginId() >= 0) {
-            log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛锛�" + camera.getLoginId());
-            camera.setUpdateBy(SecurityUtils.getUsername());
-            ardCamerasService.updateArdCameras(camera);
-        } else {
-            log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId());
-        }
+        sdk.login(camera);
         return toAjax(ardCamerasService.insertArdCameras(camera));
     }
 
@@ -120,13 +113,7 @@
         if (i > 0) {
             ArdCameras cameras = ardCamerasService.selectArdCamerasById(camera.getId());
             sdk.loginOut(cameras.getId());
-            camera = sdk.login(cameras);
-            if (camera.getLoginId() >= 0) {
-                log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛锛�" + camera.getLoginId());
-                ardCamerasService.updateArdCameras(camera);
-            } else {
-                log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId());
-            }
+            sdk.login(cameras);
         }
         return toAjax(i);
     }
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java b/ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java
index 897cf88..1102b9f 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java
@@ -1,5 +1,6 @@
 package com.ruoyi.device.camera.domain;
 
+import com.sun.jna.Structure;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java
index ab13ecc..620712e 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java
@@ -17,7 +17,7 @@
     void loadHCNetSDKLib();
 
     //鐧诲綍
-    ArdCameras login(ArdCameras cameras);
+    void login(ArdCameras cameras);
 
     //鐧诲綍鎵�鏈夌浉鏈�
     void loginAll();
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
index 0d5e498..e2e2290 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -16,6 +16,7 @@
 import com.ruoyi.device.hiksdk.util.hikSdkUtil.GisUtil;
 import com.ruoyi.device.hiksdk.util.hikSdkUtil.HCNetSDK;
 import com.ruoyi.device.hiksdk.service.IHikClientService;
+import com.ruoyi.device.hiksdk.util.hikSdkUtil.LoginResultCallBack;
 import com.ruoyi.device.hiksdk.util.minio.MinioUtils;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.sun.jna.Native;
@@ -98,15 +99,14 @@
     }
 
     /**
-     * @鎻忚堪 娉ㄥ唽鐧诲綍
+     * @鎻忚堪 娉ㄥ唽鐧诲綍 鍙敮鎸佸悓姝ョ櫥闄嗭紝涓斿畼鏂逛笉寤鸿鐩存帴鍦ㄦ鎺ュ彛涓嬪啓鑰楁椂鎿嶄綔
      * @鍙傛暟 [dvrLogin]
      * @杩斿洖鍊� java.lang.Integer
      * @鍒涘缓浜� 鍒樿嫃涔�
      * @鍒涘缓鏃堕棿 2023/1/17 16:12
      * @淇敼浜哄拰鍏跺畠淇℃伅
      */
-    @Override
-    public ArdCameras login(ArdCameras camera) {
+    public ArdCameras login1(ArdCameras camera) {
         // 鍒濆鍖�
         if (!hCNetSDK.NET_DVR_Init()) {
             log.error("SDK鍒濆鍖栧け璐�");
@@ -114,9 +114,9 @@
         //鎵撳嵃娴峰悍sdk鏃ュ織
         if (Platform.isWindows()) {
             String WIN_PATH = System.getProperty("user.dir") + File.separator + "ardLog" + File.separator + "logs" + File.separator;
-            hCNetSDK.NET_DVR_SetLogToFile(3, WIN_PATH, false);
+            hCNetSDK.NET_DVR_SetLogToFile(3, WIN_PATH, true);
         } else {
-            hCNetSDK.NET_DVR_SetLogToFile(3, "/home/ardLog/hiklog", false);
+            hCNetSDK.NET_DVR_SetLogToFile(3, "/home/ardLog/hiklog", true);
         }
         String m_sDeviceIP = camera.getIp();
         String m_sUsername = camera.getUsername();
@@ -144,6 +144,60 @@
     }
 
     /**
+     * @鎻忚堪 娉ㄥ唽鐧诲綍 闆嗘垚浜嶯ET_DVR_Login_V30锛屾敮鎸佸悓姝ュ拰寮傛鐧诲綍
+     * @鍙傛暟 [dvrLogin]
+     * @杩斿洖鍊� java.lang.Integer
+     * @鍒涘缓浜� 鍒樿嫃涔�
+     * @鍒涘缓鏃堕棿 2023/1/17 16:12
+     * @淇敼浜哄拰鍏跺畠淇℃伅
+     */
+    @Override
+    public void login(ArdCameras camera) {
+        // 鍒濆鍖�
+        if (!hCNetSDK.NET_DVR_Init()) {
+            log.error("SDK鍒濆鍖栧け璐�");
+        }
+        //鎵撳嵃娴峰悍sdk鏃ュ織
+        if (Platform.isWindows()) {
+            String WIN_PATH = System.getProperty("user.dir") + File.separator + "ardLog" + File.separator + "logs" + File.separator;
+            hCNetSDK.NET_DVR_SetLogToFile(3, WIN_PATH, true);
+        } else {
+            hCNetSDK.NET_DVR_SetLogToFile(3, "/home/ardLog/hiklog", true);
+        }
+        String m_sDeviceIP = camera.getIp();
+        String m_sUsername = camera.getUsername();
+        String m_sPassword = camera.getPassword();
+        short m_sPort = camera.getPort().shortValue();
+        //璁剧疆杩炴帴鏃堕棿涓庨噸杩炴椂闂�
+        hCNetSDK.NET_DVR_SetConnectTime(2000, 1);
+        hCNetSDK.NET_DVR_SetReconnect(100000, true);
+        //璁惧淇℃伅, 杈撳嚭鍙傛暟
+        HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();
+        HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();
+
+        // 娉ㄥ唽璁惧-鐧诲綍鍙傛暟锛屽寘鎷澶囧湴鍧�銆佺櫥褰曠敤鎴枫�佸瘑鐮佺瓑
+        m_strLoginInfo.sDeviceAddress = new byte[HCNetSDK.NET_DVR_DEV_ADDRESS_MAX_LEN];
+        System.arraycopy(m_sDeviceIP.getBytes(), 0, m_strLoginInfo.sDeviceAddress, 0, m_sDeviceIP.length());
+        m_strLoginInfo.sUserName = new byte[HCNetSDK.NET_DVR_LOGIN_USERNAME_MAX_LEN];
+        System.arraycopy(m_sUsername.getBytes(), 0, m_strLoginInfo.sUserName, 0, m_sUsername.length());
+        m_strLoginInfo.sPassword = new byte[HCNetSDK.NET_DVR_LOGIN_PASSWD_MAX_LEN];
+        System.arraycopy(m_sPassword.getBytes(), 0, m_strLoginInfo.sPassword, 0, m_sPassword.length());
+        m_strLoginInfo.wPort = m_sPort;
+        m_strLoginInfo.byVerifyMode = 0;
+        m_strLoginInfo.byLoginMode=0;
+        //鏄惁寮傛鐧诲綍锛�0- 鍚︼紝1- 鏄�  windowsSDK閲屾槸true鍜宖alse
+        m_strLoginInfo.bUseAsynLogin = true;
+        //寮傛鐧诲綍鍥炶皟
+        m_strLoginInfo.cbLoginResult = new LoginResultCallBack(camera);
+        m_strLoginInfo.write();
+        int i = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo);
+        if (i < 0) {
+            int errorCode = hCNetSDK.NET_DVR_GetLastError();
+            log.info("鐧诲綍寮傚父锛�" + errorCode);
+        }
+    }
+
+    /**
      * @鎻忚堪 鐧诲綍鎵�鏈夌浉鏈�
      * @鍙傛暟 []
      * @杩斿洖鍊� void
@@ -152,32 +206,12 @@
      * @淇敼浜哄拰鍏跺畠淇℃伅
      */
     @Override
-    @Async("loginExecutor")
     public void loginAll() {
         try {
             log.debug("鍔犺浇lib瀹屾垚锛�");
-            List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasList(new ArdCameras());
+            List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasListNoDataScope(new ArdCameras());
             for (ArdCameras camera : ardCameras) {
-                camera = login(camera);
-                if (camera.getLoginId() >= 0) {
-                    log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛锛�" + camera.getLoginId());
-                    ardCamerasMapper.updateArdCameras(camera);
-                } else {
-                    log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId());
-                }
-//                if (!globalVariable.loginMap.containsKey(camera.getId())) {
-//                    camera = login(camera);
-//                    if (camera.getLoginId() >= 0) {
-//                        log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛锛�" + camera.getLoginId());
-//                        globalVariable.loginMap.put(camera.getId(), camera.getLoginId());
-//                        ardCamerasService.updateArdCameras(camera);
-//                    } else {
-//                        log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId());
-//                    }
-//                } else {
-//                    Integer userid = globalVariable.loginMap.get(camera.getId());
-//                    log.info("褰撳墠鐩告満:" + camera.getId() + "宸茬櫥褰�,ID:" + userid);
-//                }
+                login(camera);
             }
         } catch (Exception ex) {
             log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
@@ -1310,7 +1344,7 @@
             netDvrIFrame.byStreamType = 0;
             netDvrIFrame.dwSize = netDvrIFrame.size();
             netDvrIFrame.write();
-            if(!hCNetSDK.NET_DVR_RemoteControl(userId,3402,netDvrIFrame.getPointer(),netDvrIFrame.dwSize)){
+            if (!hCNetSDK.NET_DVR_RemoteControl(userId, 3402, netDvrIFrame.getPointer(), netDvrIFrame.dwSize)) {
                 log.error("寮哄埗I甯� 閿欒鐮佷负:  " + hCNetSDK.NET_DVR_GetLastError());
             }
             //棰勮鍙傛暟
@@ -1333,7 +1367,7 @@
                     }
                     log.info("鍙栨祦鎴愬姛");
 
-                    String path= FileUtils.createFile("D:/recordTemp/" + cameraId + ".mp4");
+                    String path = FileUtils.createFile("D:/recordTemp/" + cameraId + ".mp4");
                     recordInfo info = new recordInfo();
                     info.setLRealHandle(lRealHandle);
                     info.setRecordPath(path);
@@ -1352,7 +1386,7 @@
                 }
                 hCNetSDK.NET_DVR_StopRealPlay(info.getLRealHandle());
                 log.info("褰曞儚鍋滄");
-                if(cmd.isUploadMinio()) {
+                if (cmd.isUploadMinio()) {
                     //瀛樺叆minio
                     String BucketName = cmd.getRecordBucketName();
                     String ObjectName = cmd.getRecordObjectName();
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/MapCoordinateToPTZ.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/MapCoordinateToPTZ.java
deleted file mode 100644
index aef08a2..0000000
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/MapCoordinateToPTZ.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.ruoyi.device.hiksdk.service.impl;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @ClassName: MapCoordinateToPTZ
- * @Description:
- * @Author: Administrator
- * @Date: 2023骞�02鏈�08鏃� 8:19
- * @Version: 1.0
- **/
-
-
-public class MapCoordinateToPTZ {
-
-    public static void main(String[] args) {
-        double height = 90;
-        double zoom=5;
-        String cameraGps = "125.160097,46.566593";
-        String targetGps = "125.156863,46.566648";
-        double cameraLongitude = Double.parseDouble(cameraGps.split(",")[0]);
-        double cameraLatitude = Double.parseDouble(cameraGps.split(",")[1]);
-        double targetLongitude = Double.parseDouble(targetGps.split(",")[0]);
-        double targetLatitude = Double.parseDouble(targetGps.split(",")[1]);
-        Map<String, Object> map = GpsToPTZ(height,zoom, cameraLongitude, cameraLatitude, targetLongitude, targetLatitude);
-        System.out.println(map);
-        double angley = Math.atan2((targetLongitude-cameraLongitude),(targetLatitude-cameraLatitude)); //涓嶻杞寸殑澶硅
-        System.out.println(angley*(180/Math.PI));
-    }
-
-    /**
-     * @鎻忚堪 gps鍧愭爣鏄犲皠ptz
-     * @鍙傛暟 [height鐞冩満楂樺害, anglePInit鐞冩満鍒濆姘村钩瑙掑害, x1鐞冩満缁忓害, y1鐞冩満绾害, x2鐩爣缁忓害, y2鐩爣绾害]
-     * @杩斿洖鍊� java.util.Map<java.lang.String, java.lang.Object>
-     * @鍒涘缓浜� 鍒樿嫃涔�
-     * @鍒涘缓鏃堕棿 2023/2/8 15:47
-     * @淇敼浜哄拰鍏跺畠淇℃伅
-     */
-    public static Map<String, Object> GpsToPTZ(double height,double Zoom, double x1, double y1, double x2, double y2) {
-        //瀹氫箟鐞冩満浜戝彴杞姩瑙掑害鍙橀噺
-        double angle = 0;//瀹氫箟姝e彸
-        // 璁$畻鐞冩満浜戝彴杞姩鐨勮搴�
-        // 閫氳繃姝e垏鍏紡璁$畻鍑烘潵鐨勮搴﹀垎姝h礋锛屾鏁颁负閫嗘椂閽堟棆杞搴︼紝璐熸暟涓洪『鏃堕拡瀹d紶瑙掑害
-        angle = Math.atan2(x2 - x1,y2 - y1) * 180 / Math.PI;
-        // 杈撳嚭鐞冩満浜戝彴闇�瑕佹棆杞殑澶硅
-        System.out.println("鐞冩満闇�瑕佹按骞虫棆杞殑澶硅涓猴細" + (angle) + "掳");
-        if (angle < 0) {
-            angle = (360 + angle);
-        }
-        int pAngle = new Double(Math.round(angle)).intValue();
-        System.out.println("褰撳墠P鍊间负锛�" + pAngle + "掳");
-        // 璁$畻鐞冩満浜戝彴淇话鐨勮搴�
-        double distance = distance(x1, y1, x2, y2);
-        System.out.println("涓ょ偣璺濈锛�" + distance + "m");
-        angle = (Math.atan(distance / height) * 180) / Math.PI;
-        System.out.println("鐞冩満闇�瑕佸瀭鐩存棆杞殑澶硅涓猴細" + (angle) + "掳");
-        //浜戝彴姘村钩鏃禩鍊间负0锛屽悜涓婁负姝e�硷紝鍚戜笅涓鸿礋鍊硷紝涓旀湁涓婁笅闄愭璐�45搴︺��
-        //T鍊兼甯歌绠楀叕寮忥細鍚戜笂涓鸿搴︽鍊硷紝鍚戜笅涓�360+锛堣搴﹁礋鍊硷級銆�
-        //鎸夊疄闄呬娇鐢ㄦ儏鍐碉紝鍩烘湰涓婃帓闄ゅ悜涓婃鍊肩殑鎯呭喌锛堝彲瑙嗚寖鍥村唴鐨勫潗鏍囦笉浼氫笌鐩告満姘村钩锛�
-        //閫氳繃姝e垏鍏紡璁$畻鍑烘潵瑙掑害锛屽湪鐩告満閲岃繖涓搴﹀疄闄呬负璐熷�硷紝鍥犳鐩存帴360-澶硅灏卞緱鍒扮浉鏈虹殑T鍊�
-        //鐢变簬鐩告満鐨凾鍊煎悜涓嬬殑涓嬮檺鏈�澶�360-45=315搴︼紝涔熷氨鏄璁$畻鍑烘潵鐨勫す瑙掑繀椤诲ぇ浜�315锛屽皬浜�415鐨勪篃灏卞繀椤绘椂315
-        double tValue = 360 - angle;
-        if (tValue <= 315) {
-            tValue = 315;
-        }
-        int tAngle = new Double(Math.round(tValue)).intValue();
-        System.out.println("褰撳墠T鍊间负锛�" + tAngle + "掳");
-        Map<String, Object> ptzMap = new HashMap<>();
-        ptzMap.put("p", pAngle);
-        ptzMap.put("t", tAngle);
-        ptzMap.put("z", Zoom);
-        return ptzMap;
-    }
-
-    /**
-     * @鎻忚堪 閫氳繃2涓粡绾害璁$畻璺濈
-     * @鍙傛暟 [lat1, lng1, lat2, lng2]
-     * @杩斿洖鍊� double
-     * @鍒涘缓浜� 鍒樿嫃涔�
-     * @鍒涘缓鏃堕棿 2023/2/8 15:40
-     * @淇敼浜哄拰鍏跺畠淇℃伅
-     */
-    private static final double EARTH_RADIUS_WGS84 = 6378137.0;
-    private static double distance(double lat1, double lng1, double lat2, double lng2) {
-        double radLat1 = Math.toRadians(lat1);
-        double radLat2 = Math.toRadians(lat2);
-        double a = radLat1 - radLat2;
-        double b = Math.toRadians(lng1) - Math.toRadians(lng2);
-        double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
-        return Math.round(s * EARTH_RADIUS_WGS84);
-    }
-
-}
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/LoginResultCallBack.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/LoginResultCallBack.java
new file mode 100644
index 0000000..b3c34c7
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/LoginResultCallBack.java
@@ -0,0 +1,47 @@
+package com.ruoyi.device.hiksdk.util.hikSdkUtil;
+
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.device.camera.domain.ArdCameras;
+import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
+import com.ruoyi.device.hiksdk.common.GlobalVariable;
+import com.sun.jna.Pointer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * @Description: 寮傛鐧诲綍鍥炶皟
+ * @ClassName: FLoginResultCallBack
+ * @Author: 鍒樿嫃涔�
+ * @Date: 2023骞�06鏈�12鏃�13:34
+ * @Version: 1.0
+ **/
+@Slf4j(topic = "hikSdk")
+public class LoginResultCallBack implements HCNetSDK.FLoginResultCallBack {
+
+    private ArdCameras camera;
+    public LoginResultCallBack(ArdCameras camera) {
+        this.camera = camera;
+    }
+
+    @Override
+    public int invoke(int lUserID, int dwResult, HCNetSDK.NET_DVR_DEVICEINFO_V30 lpDeviceinfo, Pointer pUser) {
+        if (GlobalVariable.loginMap.containsKey(camera.getId())) {
+            GlobalVariable.loginMap.remove(camera.getId());
+        }
+        if (dwResult == 1) {
+            GlobalVariable.loginMap.put(camera.getId(), lUserID);
+            log.info(camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛");
+            camera.setLoginId(lUserID);
+            camera.setChannel((int) lpDeviceinfo.byChanNum);
+        } else {
+            log.info(camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触");
+            camera.setChannel(0);
+            camera.setLoginId(-1);
+        }
+        ArdCamerasMapper ardCamerasMapper = SpringUtils.getBean(ArdCamerasMapper.class);
+        ardCamerasMapper.updateArdCameras(camera);
+        return 1;
+    }
+}
diff --git a/ard-work/src/main/resources/templates/test.html b/ard-work/src/main/resources/templates/test.html
index bc58555..fbe56d5 100644
--- a/ard-work/src/main/resources/templates/test.html
+++ b/ard-work/src/main/resources/templates/test.html
@@ -162,7 +162,7 @@
             }
         })
 
-        opt = {"username": "admin", "password": "admin123"};
+        opt = {"username": "liusuyi", "password": "5959932"};
         $.ajax({
             headers: {
                 'Accept': 'application/json',
diff --git a/pom.xml b/pom.xml
index d2eb8d9..8d152d0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,6 @@
     <!-- 渚濊禆澹版槑 -->
     <dependencyManagement>
         <dependencies>
-
             <!-- SpringBoot鐨勪緷璧栭厤缃�-->
             <dependency>
                 <groupId>org.springframework.boot</groupId>
diff --git a/ruoyi-admin/src/main/resources/application-ard.yml b/ruoyi-admin/src/main/resources/application-ard.yml
index 0e8fe6a..905414f 100644
--- a/ruoyi-admin/src/main/resources/application-ard.yml
+++ b/ruoyi-admin/src/main/resources/application-ard.yml
@@ -17,7 +17,7 @@
 #mqtt
 mqtt:
   host: tcp://192.168.1.15:1883
-  clientId: m3
+  clientId: m3c
   username: admin
   password: xzx12345
   topic: tube
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index b54f333..7341f19 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -67,7 +67,7 @@
   devtools:
     restart:
       # 鐑儴缃插紑鍏�
-      enabled: true
+      enabled: false
   # redis 閰嶇疆
   redis:
     # 鍦板潃
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
index 9d6d45b..542133a 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
@@ -38,6 +38,6 @@
 
     //宸℃浠诲姟
     public void scanRun() {
-      /*  ardVideoInspectTaskService.autoTaskRun();*/
+      ardVideoInspectTaskService.autoTaskRun();
     }
 }

--
Gitblit v1.9.3