From 113cf98d7d26460363d7ef13990623a775c636a2 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 01 六月 2023 14:33:47 +0800
Subject: [PATCH] 优化光电巡检手动控制

---
 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java |  123 ++++++++++++++++++++--------------------
 1 files changed, 61 insertions(+), 62 deletions(-)

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 8ffb5d9..fe82c91 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
@@ -8,7 +8,7 @@
 import com.ruoyi.constant.sdkPriority;
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
-import com.ruoyi.device.hiksdk.common.global.globalVariable;
+import com.ruoyi.device.hiksdk.common.GlobalVariable;
 import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
 import com.ruoyi.device.hiksdk.domain.recordInfo;
@@ -54,7 +54,6 @@
     SysUserMapper sysUserMapper;
 
     private static HCNetSDK hCNetSDK;
-    private static Map<Integer, recordInfo> user_real_Map = new HashMap<>();
 
     @Override
     public void loadHCNetSDKLib() {
@@ -133,10 +132,10 @@
             hCNetSDK.NET_DVR_Cleanup();
             camera.setLoginId(-1);
         }
-        if (globalVariable.loginMap.containsKey(camera.getId())) {
-            globalVariable.loginMap.remove(camera.getId());
+        if (GlobalVariable.loginMap.containsKey(camera.getId())) {
+            GlobalVariable.loginMap.remove(camera.getId());
         }
-        globalVariable.loginMap.put(camera.getId(), lUserID);
+        GlobalVariable.loginMap.put(camera.getId(), lUserID);
 
         camera.setLoginId(lUserID);
         camera.setChannel((int) m_strDeviceInfo.byStartChan);
@@ -194,13 +193,13 @@
      */
     @Override
     public boolean loginOut(String cameraId) {
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         boolean b = hCNetSDK.NET_DVR_Logout(userId);
         if (b) {
-            globalVariable.loginMap.remove(cameraId);
+            GlobalVariable.loginMap.remove(cameraId);
         }
         return b;
     }
@@ -213,10 +212,10 @@
     @Override
     public boolean isOnLine(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         boolean isOnLine = hCNetSDK.NET_DVR_RemoteControl(userId, HCNetSDK.NET_DVR_CHECK_USER_STATUS, null, 0);
         return isOnLine;
     }
@@ -239,10 +238,10 @@
         Integer channelNum = cmd.getChannelNum();
         Integer speed = cmd.getSpeed();
         Integer code = cmd.getCode();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         Integer dwStop;
         if (enable) {
             dwStop = 0;//寮�鍚�
@@ -324,10 +323,10 @@
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
         Integer dwFocusPos = cmd.getDwFocusPos();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
 
         NET_DVR_FOCUSMODE_CFG focusmodeCfg = new NET_DVR_FOCUSMODE_CFG();
         Pointer point = focusmodeCfg.getPointer();
@@ -351,10 +350,10 @@
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
 
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return new HashMap<>();
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
 
         NET_DVR_FOCUSMODE_CFG focusmodeCfg = new NET_DVR_FOCUSMODE_CFG();
         Pointer point = focusmodeCfg.getPointer();
@@ -385,10 +384,10 @@
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
         Integer PresetIndex = cmd.getPresetIndex();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, SET_PRESET, PresetIndex);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
@@ -408,10 +407,10 @@
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
         Integer PresetIndex = cmd.getPresetIndex();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, GOTO_PRESET, PresetIndex);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
@@ -432,10 +431,10 @@
     public String getVideoResolution(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return " ";
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
 
         String ResResolution = "";
         NET_DVR_COMPRESSIONCFG_V30 resolution = new NET_DVR_COMPRESSIONCFG_V30();
@@ -538,10 +537,10 @@
     public Map<String, Object> getPtz(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return null;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
 
         NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS();
         Pointer pioint = m_ptzPosCurrent.getPointer();
@@ -590,10 +589,10 @@
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
         Map<String, Double> ptz = cmd.getPtzMap();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS();
         m_ptzPosCurrent.wAction = 1;
         try {
@@ -622,10 +621,10 @@
     public boolean setTargetPosition(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS();
         m_ptzPosCurrent.wAction = 1;
         try {
@@ -736,10 +735,10 @@
     public int getPTZLockInfo(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return -1;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_PTZ_LOCKCFG netDvrPtzLockcfg = new NET_DVR_PTZ_LOCKCFG();
         Pointer point = netDvrPtzLockcfg.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
@@ -769,10 +768,10 @@
     public boolean setZeroPtz(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_INITIALPOSITIONCTRL initialpositionctrl = new NET_DVR_INITIALPOSITIONCTRL();
 
         initialpositionctrl.dwSize = initialpositionctrl.size();
@@ -801,10 +800,10 @@
     public Map<String, Object> getPtzScope(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return new HashMap<>();
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_PTZSCOPE m_ptzPosCurrent = new NET_DVR_PTZSCOPE();
         Pointer point = m_ptzPosCurrent.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
@@ -850,10 +849,10 @@
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_CAMERAPARAMCFG_EX struCameraParam = new NET_DVR_CAMERAPARAMCFG_EX();
         Pointer point = struCameraParam.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
@@ -897,10 +896,10 @@
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_CAMERAPARAMCFG_EX struDayNigh = new NET_DVR_CAMERAPARAMCFG_EX();
         Pointer point = struDayNigh.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
@@ -946,10 +945,10 @@
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_FOCUSMODE_CFG struFocusMode = new NET_DVR_FOCUSMODE_CFG();
         Pointer point = struFocusMode.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
@@ -993,10 +992,10 @@
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         Integer dwStop;
         if (enable) {
             dwStop = 0;//寮�鍚�
@@ -1027,10 +1026,10 @@
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return false;
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_DEVSERVER_CFG struDeicing = new NET_DVR_DEVSERVER_CFG();
         Pointer point = struDeicing.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
@@ -1065,10 +1064,10 @@
     public String captureJPEGPicture(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return "";
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         NET_DVR_WORKSTATE_V30 devwork = new NET_DVR_WORKSTATE_V30();
         if (!hCNetSDK.NET_DVR_GetDVRWorkState_V30(userId, devwork)) {
             // 杩斿洖Boolean鍊硷紝鍒ゆ柇鏄惁鑾峰彇璁惧鑳藉姏
@@ -1137,10 +1136,10 @@
     public String picCutCate(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return "";
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         //鍥剧墖淇℃伅
         NET_DVR_JPEGPARA jpeg = new NET_DVR_JPEGPARA();
         //璁剧疆鍥剧墖鍒嗚鲸鐜�
@@ -1203,10 +1202,10 @@
         String cameraId = cmd.getCameraId();
         Integer channelNum = cmd.getChannelNum();
         boolean enable = cmd.isEnable();
-        if (!globalVariable.loginMap.containsKey(cameraId)) {
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
             return "";
         }
-        Integer userId = globalVariable.loginMap.get(cameraId);
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
         String path = "";
         //棰勮鍙傛暟
         NET_DVR_PREVIEWINFO previewinfo = new NET_DVR_PREVIEWINFO();
@@ -1220,7 +1219,7 @@
         previewinfo.write();
         int lRealHandle;
         if (enable) {
-            if (!user_real_Map.containsKey(userId)) {
+            if (!GlobalVariable.user_real_Map.containsKey(userId)) {
                 lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null);
                 if (lRealHandle == -1) {
                     int iErr = hCNetSDK.NET_DVR_GetLastError();
@@ -1249,9 +1248,9 @@
                 recordInfo info = new recordInfo();
                 info.setLRealHandle(lRealHandle);
                 info.setRecordPath(path);
-                user_real_Map.put(userId, info);
+                GlobalVariable.user_real_Map.put(userId, info);
             }
-            recordInfo info = user_real_Map.get(userId);
+            recordInfo info = GlobalVariable.user_real_Map.get(userId);
             if (!hCNetSDK.NET_DVR_SaveRealData_V30(info.getLRealHandle(), 1, info.getRecordPath())) {
                 log.error("淇濆瓨瑙嗛鏂囦欢鍒颁复鏃舵枃浠跺す澶辫触 閿欒鐮佷负:  " + hCNetSDK.NET_DVR_GetLastError());
                 return "淇濆瓨瑙嗛鏂囦欢鍒颁复鏃舵枃浠跺す澶辫触 閿欒鐮佷负:" + hCNetSDK.NET_DVR_GetLastError();
@@ -1260,7 +1259,7 @@
             //return info.getRecordPath();
             return "";
         } else {
-            recordInfo info = user_real_Map.get(userId);
+            recordInfo info = GlobalVariable.user_real_Map.get(userId);
             if (StringUtils.isNull(info)) {
                 return "";
             }
@@ -1288,7 +1287,7 @@
             } catch (IOException ex) {
                 log.error("涓婁紶鏂囦欢寮傚父锛�" + ex.getMessage());
             }
-            user_real_Map.remove(userId);
+            GlobalVariable.user_real_Map.remove(userId);
             return url;
         }
     }
@@ -1299,10 +1298,10 @@
             String cameraId = cmd.getCameraId();
             Integer channelNum = cmd.getChannelNum();
             boolean enable = cmd.isEnable();
-            if (!globalVariable.loginMap.containsKey(cameraId)) {
+            if (!GlobalVariable.loginMap.containsKey(cameraId)) {
                 return;
             }
-            Integer userId = globalVariable.loginMap.get(cameraId);
+            Integer userId = GlobalVariable.loginMap.get(cameraId);
             String path = "";
             //寮哄埗I甯х粨鏋勪綋瀵硅薄
             HCNetSDK.NET_DVR_I_FRAME netDvrIFrame = new HCNetSDK.NET_DVR_I_FRAME();   //鏂板缓缁撴瀯浣撳璞�
@@ -1327,7 +1326,7 @@
             previewinfo.write();
             int lRealHandle;
             if (enable) {
-                if (!user_real_Map.containsKey(userId)) {
+                if (!GlobalVariable.user_real_Map.containsKey(userId)) {
                     lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null);
                     if (lRealHandle == -1) {
                         log.error("鍙栨祦澶辫触" + hCNetSDK.NET_DVR_GetLastError());
@@ -1346,16 +1345,16 @@
                     recordInfo info = new recordInfo();
                     info.setLRealHandle(lRealHandle);
                     info.setRecordPath(path);
-                    user_real_Map.put(userId, info);
+                    GlobalVariable.user_real_Map.put(userId, info);
                 }
-                recordInfo info = user_real_Map.get(userId);
+                recordInfo info = GlobalVariable.user_real_Map.get(userId);
                 if (!hCNetSDK.NET_DVR_SaveRealData_V30(info.getLRealHandle(), 2, info.getRecordPath())) {
                     log.error("淇濆瓨瑙嗛鏂囦欢鍒颁复鏃舵枃浠跺す澶辫触 閿欒鐮佷负:  " + hCNetSDK.NET_DVR_GetLastError());
                     return;
                 }
                 log.info("褰曞儚寮�濮�");
             } else {
-                recordInfo info = user_real_Map.get(userId);
+                recordInfo info = GlobalVariable.user_real_Map.get(userId);
                 if (StringUtils.isNull(info)) {
                     return;
                 }
@@ -1369,7 +1368,7 @@
                 boolean b = MinioUtils.uploadObject(BucketName, ObjectName, stream, stream.available(), ContentType);
                 if (b) {
                     log.info("涓婁紶鏂囦欢鎴愬姛!" + MinioClientSingleton.domainUrl + "/"+ BucketName + "/" + ObjectName);
-                    user_real_Map.remove(userId);
+                    GlobalVariable.user_real_Map.remove(userId);
                 }
             }
         } catch (Exception ex) {

--
Gitblit v1.9.3