From 32174535f5cd608c87992a9cdec259a803af63e4 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 13 四月 2024 13:35:35 +0800
Subject: [PATCH] 增加视频巡检兴趣点上报

---
 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java |  105 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 85 insertions(+), 20 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
index 8f1a9b0..e3aac54 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
@@ -29,6 +29,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 
 
@@ -59,12 +60,11 @@
      */
     @Override
     public void run(ApplicationArguments args) {
-
         try {
             // 浠巃rdCamerasService涓幏鍙朅rdCameras鍒楄〃
             List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
             for (ArdCameras camera : ardCameras) {
-                login(camera);
+                asyncLogin(camera);
             }
         } catch (Exception ex) {
             // 鍒濆鍖栫櫥褰曠浉鏈哄紓甯革紝璁板綍閿欒鏃ュ織
@@ -73,23 +73,35 @@
     }
 
 
-    //鐧诲綍
+    //鍚屾鐧诲綍
     @Override
-    public Boolean login(ArdCameras ardCamera) {
-        boolean result = false;
+    public AjaxResult login(ArdCameras ardCamera) {
         try {
-            if (ardCamera != null) {
-                String factory = ardCamera.getFactory();
-                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                //sdkStrategy.login(ardCamera);//鍚屾鐧诲綍
-                cameraSDK.asyncLogin(ardCamera);//寮傛鐧诲綍
-                result = true;
+            if (ardCamera == null) {
+                return AjaxResult.error("鐧诲綍鐩告満澶辫触锛岀浉鏈轰笉瀛樺湪");
             }
+            String factory = ardCamera.getFactory();
+            CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+            return cameraSDK.login(ardCamera);//鍚屾鐧诲綍
         } catch (Exception ex) {
             log.error("鐧诲綍寮傚父锛�" + ex.getMessage());
-            return false;
+            return AjaxResult.error("鐧诲綍寮傚父锛�" + ex.getMessage());
         }
-        return result;
+    }
+
+    @Override
+    public AjaxResult asyncLogin(ArdCameras ardCamera) {
+        try {
+            if (ardCamera == null) {
+                return AjaxResult.error("鐧诲綍鐩告満澶辫触锛岀浉鏈轰笉瀛樺湪");
+            }
+            String factory = ardCamera.getFactory();
+            CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+            return cameraSDK.asyncLogin(ardCamera);//寮傛鐧诲綍
+        } catch (Exception ex) {
+            log.error("鐧诲綍寮傚父锛�" + ex.getMessage());
+            return AjaxResult.error("鐧诲綍寮傚父锛�" + ex.getMessage());
+        }
     }
 
     //娉ㄩ攢
@@ -373,9 +385,25 @@
         }
     }
 
+    //鏈湴鎶撳浘
     @Override
-    public String captureJPEGPicture(CameraCmd cmd) {
-        return null;
+    public AjaxResult localCapture(CameraCmd cmd) {
+        try {
+            String cameraId = cmd.getCameraId();
+            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
+            if (ardCamera != null) {
+                String factory = ardCamera.getFactory();
+                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+              return   cameraSDK.localCapture(cmd);
+            }
+            else
+            {
+                return AjaxResult.error("鎽勫儚澶翠笉瀛樺湪");
+            }
+        } catch (Exception ex) {
+            log.error("鎵嬪姩鎶撳浘寮傚父:" + ex.getMessage());
+            return AjaxResult.error("鎵嬪姩鎶撳浘寮傚父:" + ex.getMessage());
+        }
     }
 
     //鎶撳浘
@@ -463,7 +491,7 @@
 
         } catch (Exception ex) {
             log.error("璁剧疆ptz寮傚父锛�" + ex.getMessage());
-           return AjaxResult.error("璁剧疆ptz寮傚父:" + ex.getMessage());
+            return AjaxResult.error("璁剧疆ptz寮傚父:" + ex.getMessage());
         }
     }
 
@@ -689,8 +717,7 @@
     public AjaxResult controlLock(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();//鐢宠閿佺殑鐩告満
         ArdCameras ardCameras = ardCamerasService.selectArdCamerasById(cameraId);
-        if(ardCameras==null)
-        {
+        if (ardCameras == null) {
             return AjaxResult.error("璁惧鏈櫥褰�");
         }
         Date now = new Date();
@@ -713,8 +740,7 @@
         String cameraId = cmd.getCameraId();//鐢宠瑙i攣鐨勭浉鏈�
         String operator = cmd.getOperator();//鐢宠鑰�
         ArdCameras ardCameras = ardCamerasService.selectArdCamerasById(cameraId);
-        if(ardCameras==null)
-        {
+        if (ardCameras == null) {
             return AjaxResult.error("璁惧鏈櫥褰�");
         }
         if (ardCameras.getOperatorId().equals(operator)) {
@@ -820,4 +846,43 @@
             return AjaxResult.error("鑾峰彇鐩告満鏋惰鍙傛暟寮傚父锛�" + ex.getMessage());
         }
     }
+
+    //鏈湴褰曞儚寮�濮�
+    @Override
+    public AjaxResult localRecordStart(CameraCmd cmd) {
+        try {
+            String cameraId = cmd.getCameraId();
+            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
+            if (ardCamera != null) {
+                String factory = ardCamera.getFactory();
+                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+                return cameraSDK.localRecordStart(cmd);
+            } else {
+                return AjaxResult.error("鐩告満涓嶅瓨鍦�");
+            }
+        } catch (Exception ex) {
+            log.error("鏈湴褰曞儚寮�濮嬪紓甯革細" + ex.getMessage());
+            return AjaxResult.error("鏈湴褰曞儚寮�濮嬪紓甯革細" + ex.getMessage());
+        }
+    }
+    //鏈湴褰曞儚鍋滄
+    @Override
+    public AjaxResult localRecordStop(CameraCmd cmd) {
+        try {
+            String cameraId = cmd.getCameraId();
+            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
+            if (ardCamera != null) {
+                String factory = ardCamera.getFactory();
+                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+                return cameraSDK.localRecordStop(cmd);
+            }
+            else
+            {
+                return AjaxResult.error("鐩告満涓嶅瓨鍦�");
+            }
+        } catch (Exception ex) {
+            log.error("鏈湴褰曞儚鍋滄寮傚父锛�" + ex.getMessage());
+            return AjaxResult.error("鏈湴褰曞儚鍋滄寮傚父锛�" + ex.getMessage());
+        }
+    }
 }

--
Gitblit v1.9.3