From 57c673aa3e83677bcf5d30b4b45d06bae6609db8 Mon Sep 17 00:00:00 2001 From: liusuyi <1951119284@qq.com> Date: 星期四, 08 八月 2024 16:14:40 +0800 Subject: [PATCH] 优化:获取会话 --- ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 43 insertions(+), 4 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 41ce896..0209056 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 @@ -18,16 +18,22 @@ import com.ruoyi.device.camera.factory.CameraSDKFactory; import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone; import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService; +import com.ruoyi.device.terrain.domain.ArdTerrainMark; +import com.ruoyi.device.terrain.service.IArdTerrainMarkService; import com.ruoyi.utils.gis.GisUtil; import com.ruoyi.utils.gis.Point; import com.ruoyi.utils.sdk.common.GlobalVariable; import com.ruoyi.utils.tools.ArdTool; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; + import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; /** @@ -37,7 +43,7 @@ * @Date: 2023骞�10鏈�16鏃�15:21:01 **/ @Service -@Slf4j(topic = "SDK") +@Slf4j(topic = "sdk") public class CameraSdkServiceImpl implements ICameraSdkService, ApplicationRunner { @Resource private IArdCamerasService ardCamerasService; @@ -49,6 +55,8 @@ private IArdAlarmpointsWellService ardAlarmpointsWellService; @Resource private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService; + @Resource + private IArdTerrainMarkService ardTerrainMarkService; /** * 鍚姩绾跨▼鏂规硶锛岀敤浜庢墽琛屽垵濮嬪寲鐧诲綍鐩告満鐨勯�昏緫 @@ -58,10 +66,10 @@ @Override public void run(ApplicationArguments args) { try { + log.info("鍒濆鍖栫櫥褰曠浉鏈哄紑濮�"); + ardCamerasService.resetCameraLoginId(); List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras()); - for (ArdCameras camera : ardCameras) { - asyncLogin(camera); - } + ardCameras.stream().forEach(ardCamera -> asyncLogin(ardCamera)); } catch (Exception ex) { log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage()); } @@ -505,6 +513,37 @@ } } + /** + * @return + * @Author 鍒樿嫃涔� + * @Description 淇淇话鍊硷紙鏍规嵁鐩告満ID鑾峰彇500绫宠寖鍥村唴鐨勫湴褰㈠弬鏁伴泦鍚堬紝璁$畻骞冲潎鍊煎姞涓奣鍊硷級 + * @Date 2024/6/22 11:16 + * @Param + */ + @Override + public Double correctPitch(CameraCmd cmd) { + Double pitchAngle = 0.0; + try { + double[] targetPositions = cmd.getTargetPosition(); + ArdTerrainMark ardTerrainMark = new ArdTerrainMark(); + ardTerrainMark.setCameraId(cmd.getCameraId()); + List<ArdTerrainMark> ardTerrainMarks = ardTerrainMarkService.selectArdTerrainMarkList(ardTerrainMark); + //杩囨护500绫宠寖鍥村唴鐨勯泦鍚� + ardTerrainMarks = ardTerrainMarks.stream().filter(n -> GisUtil.getDistance(targetPositions, new double[]{n.getLongitude(), n.getLatitude(), n.getAltitude()}) <= 500).collect(Collectors.toList()); + //璁$畻T骞冲潎鍊� + OptionalDouble averageT = ardTerrainMarks.stream().mapToDouble(ArdTerrainMark::getT).average(); + // 杈撳嚭 + if (averageT.isPresent()) { + pitchAngle = averageT.getAsDouble(); + log.debug("淇淇话鍊硷細" + pitchAngle); + } + } catch (Exception ex) { + log.error("淇淇话鍊煎紓甯革細" + ex.getMessage()); + + } + return pitchAngle; + } + //寮曞鎸囧悜浜� @Override public AjaxResult guideTargetWell(CameraCmd cmd) { -- Gitblit v1.9.3