From 38eaaa87743252da53851047bd15b089ccf9697b Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 07 三月 2024 11:00:40 +0800
Subject: [PATCH] SDK云台控制和setptz增加错误码返回 增加部门和相机按角色数据权限查询

---
 ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
index 82a6c1d..61a578e 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
@@ -4,6 +4,7 @@
 import com.ruoyi.alarm.global.domain.GuideTask;
 import com.ruoyi.alarm.global.service.impl.QueueHandler;
 import com.ruoyi.common.annotation.SdkOperate;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.common.utils.file.MimeTypeUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
@@ -19,6 +20,7 @@
 import com.ruoyi.utils.gis.GisUtil;
 import com.ruoyi.utils.minio.MinioUtil;
 import com.ruoyi.utils.sdk.common.GlobalVariable;
+import com.ruoyi.utils.sdk.common.SdkErrorCodeEnum;
 import com.ruoyi.utils.sdk.hiksdk.lib.ExceptionCallBack;
 import com.ruoyi.utils.sdk.hiksdk.lib.HCNetSDK;
 import com.sun.jna.NativeLong;
@@ -220,7 +222,10 @@
             //鍚屾鐧诲綍
             int lUserID = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo);
             if (lUserID < 0) {
-                log.debug("Login Failed 銆� " + camera.getIp() + ":" + camera.getPort() + " 銆�,Error Code锛�" + hCNetSDK.NET_DVR_GetLastError());
+                int errorCode = hCNetSDK.NET_DVR_GetLastError();
+                log.debug("Login Failed 銆� " + camera.getIp() + ":" + camera.getPort() + " 銆�," +
+                        "Error Code:" + errorCode + " " +
+                        "Error Info:" + SdkErrorCodeEnum.getDescByCode(errorCode));
                 camera.setChanNum(0);
                 camera.setLoginId(-1);
                 camera.setState("0");
@@ -376,14 +381,14 @@
      */
     @Override
     @SdkOperate
-    public boolean pTZControl(CameraCmd cmd) {
+    public AjaxResult pTZControl(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChanNo();
         Integer speed = cmd.getSpeed();
         Integer code = cmd.getCode();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("鐩告満鏈櫥褰�");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         int dwStop;
@@ -452,8 +457,9 @@
         if (!bool) {
             int errorCode = hCNetSDK.NET_DVR_GetLastError();
             log.error("鎺у埗澶辫触,璇风◢鍚庨噸璇�" + errorCode);
+            return AjaxResult.error("errorCode:" + errorCode + "errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
         }
-        return bool;
+        return AjaxResult.success();
     }
 
     /**
@@ -992,12 +998,12 @@
      */
     @Override
     @SdkOperate
-    public boolean setPtz1(CameraCmd cmd) {
+    public AjaxResult setPtz1(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChanNo();
         Map<String, Double> ptz = cmd.getPtzMap();
         if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-            return false;
+            return AjaxResult.error("璁惧鏈櫥褰�");
         }
         Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
         NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS();
@@ -1013,13 +1019,14 @@
             m_ptzPosCurrent.write();
             boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size());
             if (!bool) {
-                int code = hCNetSDK.NET_DVR_GetLastError();
-                log.error("璁剧疆PTZ鍙傛暟澶辫触,璇风◢鍚庨噸璇�:" + code);
+                int errorCode = hCNetSDK.NET_DVR_GetLastError();
+                log.error("璁剧疆PTZ鍙傛暟澶辫触,璇风◢鍚庨噸璇�:" + errorCode);
+                return AjaxResult.error("errorCode:" + errorCode + "errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
             }
-            return bool;
+            return AjaxResult.success();
         } catch (Exception ex) {
             log.error(ex.getMessage());
-            return false;
+            return AjaxResult.error("璁剧疆PTZ鍙傛暟寮傚父:" + ex.getMessage());
         }
     }
 
@@ -1033,13 +1040,13 @@
      */
     @Override
     @SdkOperate
-    public boolean setPtz(CameraCmd cmd) {
+    public AjaxResult setPtz(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
             Integer chanNo = cmd.getChanNo();
             Map<String, Double> ptz = cmd.getPtzMap();
             if (!GlobalVariable.loginMap.containsKey(cameraId)) {
-                return false;
+                return AjaxResult.error("璁惧鏈櫥褰�");
             }
             Integer lUserID = (Integer) GlobalVariable.loginMap.get(cameraId);
             IntByReference pchannel = new IntByReference(chanNo);
@@ -1071,14 +1078,15 @@
             lpConfigParam6697.write();
             boolean bool = hCNetSDK.NET_DVR_SetSTDConfig(lUserID, NET_DVR_SET_PTZABSOLUTEEX, lpConfigParam6697);
             if (!bool) {
-                int code = hCNetSDK.NET_DVR_GetLastError();
-                log.error("璁剧疆楂樼簿搴TZ鍙傛暟澶辫触,璇风◢鍚庨噸璇�:" + code);
+                int errorCode = hCNetSDK.NET_DVR_GetLastError();
+                log.error("璁剧疆楂樼簿搴TZ鍙傛暟澶辫触,璇风◢鍚庨噸璇�:" + errorCode);
+                return AjaxResult.error("errorCode:" + errorCode + "errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode));
             }
-            return bool;
+            return AjaxResult.success();
 
         } catch (Exception ex) {
             log.error("璁剧疆楂樼簿搴TZ鍙傛暟寮傚父", ex);
-            return false;
+            return AjaxResult.error("璁剧疆楂樼簿搴TZ鍙傛暟寮傚父:" + ex);
         }
     }
 

--
Gitblit v1.9.3