From 4b085b357d5e3137a79b4618a15dcba1fc5adf7b Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 14 三月 2024 08:53:43 +0800
Subject: [PATCH] 优化

---
 ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java |   46 +++++++++++++++++++++++++++-------------------
 1 files changed, 27 insertions(+), 19 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..2e09f50 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);
         }
     }
 
@@ -1294,7 +1302,7 @@
         NET_DVR_CAMERAPARAMCFG_EX struDayNigh = new NET_DVR_CAMERAPARAMCFG_EX();
         Pointer point = struDayNigh.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
-        boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_CCDPARAMCFG_EX, chanNo, point, struDayNigh.size(), ibrBytesReturned);
+        boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_CCDPARAMCFG, chanNo, point, struDayNigh.size(), ibrBytesReturned);
         if (!b_GetCameraParam) {
             log.error("鑾峰彇鍓嶇鍙傛暟澶辫触锛岄敊璇爜锛�" + hCNetSDK.NET_DVR_GetLastError());
         }
@@ -1312,10 +1320,10 @@
         daynight.byDayNightFilterTime = 60;
         struDayNigh.struDayNight = daynight;
         struDayNigh.write();
-        boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, chanNo, point, struDayNigh.size());
+        boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG, chanNo, point, struDayNigh.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.error("璁剧疆澶滆澶辫触,璇风◢鍚庨噸璇�" + code);
+            log.error("璁剧疆澶滆澶辫触 ErrorCode:{},ErrorInfo:{}",code, SdkErrorCodeEnum.getDescByCode(code));
         } else {
             log.debug("璁剧疆澶滆鎴愬姛");
         }

--
Gitblit v1.9.3