From 2217289657c3a402e132490497b10f3876bc1aa1 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期一, 06 十一月 2023 10:17:36 +0800
Subject: [PATCH] 获取三一地址
---
ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java | 40 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
index b19b27c..a6e4edc 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
@@ -11,11 +11,19 @@
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.camera.service.IArdCamerasService;
import com.ruoyi.device.camera.service.ICameraSdkService;
+
+import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone;
+import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService;
+import com.ruoyi.utils.gis.GisUtil;
+import com.ruoyi.utils.gis.Point;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
+
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -36,7 +44,8 @@
private ICameraSdkService cameraSdkService;
@Resource
private IArdCamerasService ardCamerasService;
-
+ @Autowired
+ private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService;
@RequestMapping("/preview")
private String preview() {
@@ -137,6 +146,7 @@
Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd);
return AjaxResult.success("鑾峰彇ptz", ptzMap);
}
+
@ApiOperation("鑾峰彇PTZ鑼冨洿")
@PostMapping("/getPTZScope")
@Log(title = "鑾峰彇PTZ鑼冨洿", businessType = BusinessType.CONTROL)
@@ -165,6 +175,34 @@
public @ResponseBody
AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) {
cmd.setOperator(SecurityUtils.getUserId());
+ //鎷︽埅鎵嬪姩寮曞
+ ArdCameraNoGuideZone ardCameraNoGuideZone = new ArdCameraNoGuideZone();
+ ardCameraNoGuideZone.setCameraId(cmd.getCameraId());
+ ardCameraNoGuideZone.setEnabled("1");
+ //鑾峰彇褰撳墠鐩告満鐨勭寮曞彲瑙嗗煙鍒楄〃
+ List<ArdCameraNoGuideZone> ardCameraNoGuideZones = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone);
+ if (ardCameraNoGuideZones.size() > 0) {
+ //鑾峰彇鍒板綋鍓嶇浉鏈虹殑鍧愭爣闆嗗悎
+ for(ArdCameraNoGuideZone zone:ardCameraNoGuideZones) {
+ String[] parts = zone.getPoi().split(",");
+ List<Point> pointList = new ArrayList<>();
+ for (int i = 0; i < parts.length; i += 3) {
+ Point point = new Point();
+ point.setLongitude(Double.valueOf(parts[i]));
+ point.setLatitude(Double.valueOf(parts[i + 1]));
+ pointList.add(point);
+ }
+ double lon = cmd.getTargetPosition()[0];
+ double lat = cmd.getTargetPosition()[1];
+ Point targetPoint = new Point(lon, lat);
+ //鍒ゆ柇寮曞鐩爣鏄惁鍦ㄥ潗鏍囬泦鍚堢粍鎴愮殑澶氳竟褰㈠唴
+ boolean inPolygon = GisUtil.isInPolygon(targetPoint, pointList);
+ if(inPolygon)
+ {
+ return AjaxResult.error("寮曞鍧愭爣浣嶄簬绂佸紩鍙鍩熷唴");
+ }
+ }
+ }
return toAjax(cameraSdkService.guideTargetPosition(cmd));
}
--
Gitblit v1.9.3