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