From 0a93967d8028733169ef9bcad7207026d4dea74e Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 11 三月 2024 16:07:57 +0800
Subject: [PATCH] 增加雷达报警引导优先ptz引导 修改海康红外开关接口命令值 优化坐标数组改为实体类

---
 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java |   71 +++++++++++++++++------------------
 1 files changed, 34 insertions(+), 37 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 06866e8..d698a32 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
@@ -1,5 +1,6 @@
 package com.ruoyi.device.camera.service.impl;
 
+import com.ruoyi.alarm.global.domain.GuidePoint;
 import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
 import com.ruoyi.alarmpoints.well.domain.ArdWellGuideCamera;
 import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
@@ -130,20 +131,15 @@
 
     //浜戝彴鎺у埗
     @Override
-    public boolean pTZControl(CameraCmd cmd) {
-        try {
-            boolean result = false;
-            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);
-                result = cameraSDK.pTZControl(cmd);
-            }
-            return result;
-        } catch (Exception ex) {
-            log.error("ptz鎺у埗寮傚父锛�" + ex.getMessage());
-            return false;
+    public AjaxResult pTZControl(CameraCmd cmd) {
+        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.pTZControl(cmd);
+        } else {
+            return AjaxResult.error("鎽勫儚澶翠笉瀛樺湪");
         }
     }
 
@@ -400,7 +396,12 @@
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                map = cameraSDK.getPtz(cmd);
+                String gdtype = ardCamera.getGdtype();
+                if (gdtype.equals("1")) {
+                    map = cameraSDK.getPtz(cmd);
+                } else {
+                    map = cameraSDK.getPtz1(cmd);
+                }
             }
         } catch (Exception ex) {
             log.error("鑾峰彇ptz寮傚父锛�" + ex.getMessage());
@@ -428,27 +429,27 @@
 
     //璁剧疆ptz
     @Override
-    public boolean setPtz(CameraCmd cmd) {
-        boolean result = false;
+    public AjaxResult setPtz(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);
-                String gdtype = ardCamera.getGdtype();
-                if (gdtype.equals("1")) {
-                    //澶у厜鐢典娇鐢ㄩ珮绮惧害ptz璁剧疆
-                    result = cameraSDK.setPtz(cmd);
-                } else {
-                    result = cameraSDK.setPtz1(cmd);
-                }
-
+            if (ardCamera == null) {
+                return AjaxResult.error("鎽勫儚澶翠笉瀛樺湪");
             }
+            CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(ardCamera.getFactory());
+            String gdtype = ardCamera.getGdtype();
+            if (gdtype.equals("1")) {
+                //澶у厜鐢典娇鐢ㄩ珮绮惧害ptz璁剧疆
+                return cameraSDK.setPtz(cmd);
+            } else {
+                return cameraSDK.setPtz1(cmd);
+            }
+
         } catch (Exception ex) {
             log.error("璁剧疆ptz寮傚父锛�" + ex.getMessage());
+            AjaxResult.error("璁剧疆ptz寮傚父:" + ex.getMessage());
         }
-        return result;
+        return AjaxResult.success();
     }
 
     //璁剧疆闆舵柟浣嶈
@@ -500,7 +501,8 @@
         if (well == null) {
             return AjaxResult.error("浜曚笉瀛樺湪");
         }
-        cmd.setTargetPosition(new double[]{well.getLongitude(), well.getLatitude()});
+        GuidePoint guidePoint=new GuidePoint().setLongitude(well.getLongitude()).setLatitude(well.getLatitude());
+        cmd.setTargetPosition(guidePoint);
 
         //鑾峰彇浜曢厤缃殑寮曞鐩告満鍒楄〃
         List<ArdWellGuideCamera> ardWellGuideCameraList = well.getArdWellGuideCameraList();
@@ -522,8 +524,7 @@
             cmd.setCameraId(cameraId);
             //鑾峰彇鏈�杩戠浉鏈虹殑瀵硅薄
             Optional<ArdWellGuideCamera> first = ardWellGuideCameraList.stream().filter(s -> s.getCameraId().equals(cameraId)).findFirst();
-            if(first.isPresent())
-            {
+            if (first.isPresent()) {
                 ArdWellGuideCamera ardWellGuideCamera = first.get();
                 Map<String, Double> ptzMap = null;
                 //閫氳繃閫氶亾鑾峰彇棰勭疆浣�
@@ -550,11 +551,7 @@
                 if (ptzMap != null) {
                     //浣跨敤ptz寮曞
                     cmd.setPtzMap(ptzMap);
-                    boolean res = setPtz(cmd);
-                    if (!res) {
-                        return AjaxResult.error("ptz寮曞澶辫触", "cameraId:" + cameraId);
-                    }
-                    return AjaxResult.success("ptz寮曞鎴愬姛", "cameraId:" + cameraId);
+                    return setPtz(cmd);
                 }
             }
 

--
Gitblit v1.9.3