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 | 50 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 32 insertions(+), 18 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 ff42951..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 @@ -3,6 +3,8 @@ import com.ruoyi.alarm.global.domain.GuidePriorityQueue; 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; @@ -18,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; @@ -219,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"); @@ -374,14 +380,15 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 */ @Override - public boolean pTZControl(CameraCmd cmd) { + @SdkOperate + 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; @@ -450,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(); } /** @@ -989,12 +997,13 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�奸渶瑕佸姞涓�360寰楀埌鐨勬鍊艰繘琛岃缃� */ @Override - public boolean setPtz1(CameraCmd cmd) { + @SdkOperate + 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(); @@ -1010,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()); } } @@ -1029,13 +1039,14 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�煎悜涓嬭礋鍊� */ @Override - public boolean setPtz(CameraCmd cmd) { + @SdkOperate + 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); @@ -1067,21 +1078,23 @@ 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); } } @Override + @SdkOperate public boolean guideTargetPosition(CameraCmd cmd) { String cameraId = cmd.getCameraId(); - Integer channelNum = cmd.getChanNo(); + Integer chanNo = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { return false; } @@ -1101,7 +1114,7 @@ m_ptzPosCurrent.wZoomPos = (short) (Integer.parseInt(z, 16)); Pointer point = m_ptzPosCurrent.getPointer(); m_ptzPosCurrent.write(); - boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size()); + boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, chanNo, point, m_ptzPosCurrent.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璁剧疆ptz澶辫触,璇风◢鍚庨噸璇�" + code); @@ -1153,6 +1166,7 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�奸渶瑕佸姞涓�360寰楀埌鐨勬鍊艰繘琛岃缃� */ @Override + @SdkOperate public boolean setZeroPtz(CameraCmd cmd) { String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); -- Gitblit v1.9.3