From a70d0dfe221e06381b6e290d1dab85c9ab4fdc31 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期六, 23 三月 2024 08:36:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java |  119 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 69 insertions(+), 50 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 6165144..a2cefc6 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,42 +11,24 @@
 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.dhsdk.service.IDhClientService;
-import com.ruoyi.device.hiksdk.service.IHikClientService;
+
+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.PostConstruct;
 import javax.annotation.Resource;
-import java.util.List;
-import java.util.Map;
-
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.device.camera.domain.ArdCameras;
-import com.ruoyi.device.camera.domain.CameraCmd;
-import com.ruoyi.device.camera.service.IArdCamerasService;
-import com.ruoyi.device.dhsdk.service.IDhClientService;
-import com.ruoyi.device.hiksdk.service.IHikClientService;
-import com.ruoyi.common.annotation.Anonymous;
-import com.ruoyi.common.core.domain.AjaxResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
 /**
- * @Description:
+ * @Description: 鐩告満閫氱敤SDK鎺ュ彛
  * @ClassName: CameraSdkController
  * @Author: 鍒樿嫃涔�
  * @Date: 2023骞�10鏈�14鏃�17:02:56
@@ -62,6 +44,9 @@
     private ICameraSdkService cameraSdkService;
     @Resource
     private IArdCamerasService ardCamerasService;
+
+    @Autowired
+    private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService;
 
 
     @RequestMapping("/preview")
@@ -109,7 +94,7 @@
     public @ResponseBody
     AjaxResult PTZControlWithSpeed(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.pTZControl(cmd));
+        return cameraSdkService.pTZControl(cmd);
     }
 
     @ApiOperation("璋冪敤棰勭疆鐐�")
@@ -119,7 +104,7 @@
     public @ResponseBody
     AjaxResult gotoPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.gotoPreset(cmd));
+        return cameraSdkService.gotoPreset(cmd);
     }
 
     @ApiOperation("璁剧疆棰勭疆鐐�")
@@ -129,7 +114,7 @@
     public @ResponseBody
     AjaxResult setPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setPreset(cmd));
+        return cameraSdkService.setPreset(cmd);
     }
 
     @ApiOperation("鑾峰彇鑱氱劍鍊�")
@@ -139,8 +124,7 @@
     public @ResponseBody
     AjaxResult getFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        int focus = cameraSdkService.getFocusPos(cmd);
-        return AjaxResult.success("鑾峰彇鑱氱劍鍊�", focus);
+        return cameraSdkService.getFocusPos(cmd);
     }
 
     @ApiOperation("璁剧疆鑱氱劍鍊�")
@@ -150,7 +134,7 @@
     public @ResponseBody
     AjaxResult setFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setFocusPos(cmd));
+        return cameraSdkService.setFocusPos(cmd);
     }
 
     @ApiOperation("鑾峰彇PTZ")
@@ -160,9 +144,9 @@
     public @ResponseBody
     AjaxResult getPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd);
-        return AjaxResult.success("鑾峰彇ptz", ptzMap);
+        return cameraSdkService.getPtz(cmd);
     }
+
     @ApiOperation("鑾峰彇PTZ鑼冨洿")
     @PostMapping("/getPTZScope")
     @Log(title = "鑾峰彇PTZ鑼冨洿", businessType = BusinessType.CONTROL)
@@ -170,8 +154,7 @@
     public @ResponseBody
     AjaxResult getPTZScope(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> ptzMap = cameraSdkService.getPtzScope(cmd);
-        return AjaxResult.success("鑾峰彇ptz鑼冨洿", ptzMap);
+        return cameraSdkService.getPtzScope(cmd);
     }
 
     @ApiOperation("璁剧疆PTZ")
@@ -181,7 +164,7 @@
     public @ResponseBody
     AjaxResult setPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setPtz(cmd));
+        return cameraSdkService.setPtz(cmd);
     }
 
     @ApiOperation("鎸囧悜鐩爣")
@@ -191,9 +174,45 @@
     public @ResponseBody
     AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.guideTargetPosition(cmd));
+        //鎷︽埅鎵嬪姩寮曞
+        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 cameraSdkService.guideTargetPosition(cmd);
     }
 
+    @ApiOperation("鎸囧悜鐩爣浜�")
+    @PostMapping("/setTargetWell")
+    @Log(title = "鎸囧悜鐩爣浜�", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.wellId"})
+    public @ResponseBody
+    AjaxResult setTargetWell(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return cameraSdkService.guideTargetWell(cmd);
+    }
 
     @ApiOperation("璁剧疆闆舵柟浣嶈")
     @PostMapping("/setZeroPTZ")
@@ -202,7 +221,7 @@
     public @ResponseBody
     AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setZeroPtz(cmd));
+        return cameraSdkService.setZeroPtz(cmd);
     }
 
     @ApiOperation("璁剧疆閿佸畾")
@@ -212,7 +231,7 @@
     public @ResponseBody
     AjaxResult setPTZLock(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.controlLock(cmd));
+        return cameraSdkService.controlLock(cmd);
     }
 
     @ApiOperation("璁剧疆瑙i攣")
@@ -222,7 +241,7 @@
     public @ResponseBody
     AjaxResult setPTZUnLock(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.controlUnLock(cmd));
+        return cameraSdkService.controlUnLock(cmd);
     }
 
     @ApiOperation("鑾峰彇浜戝彴閿佸畾淇℃伅")
@@ -232,7 +251,8 @@
     public @ResponseBody
     AjaxResult getPTZLockInfo(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        int byWorkMode = cameraSdkService.getPTZLockInfo(cmd);
+        AjaxResult ajaxResult = cameraSdkService.getPTZLockInfo(cmd);
+        Integer byWorkMode = (Integer) ajaxResult.get("msg");
         if (byWorkMode == 0) {
             return AjaxResult.success("浜戝彴閿佸畾鐘舵�侊細瑙i攣");
         } else if (byWorkMode == 1) {
@@ -249,7 +269,7 @@
     public @ResponseBody
     AjaxResult defogcfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlDefogcfg(cmd));
+        return cameraSdkService.controlDefogcfg(cmd);
     }
 
     @ApiOperation("绾㈠寮�鍏�")
@@ -259,7 +279,7 @@
     public @ResponseBody
     AjaxResult infrarecfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlInfrarecfg(cmd));
+        return cameraSdkService.controlInfrarecfg(cmd);
     }
 
     @ApiOperation(value = "鎵嬪姩/鑷姩鑱氱劍", notes = "true鎵嬪姩flase鑷姩")
@@ -269,7 +289,7 @@
     public @ResponseBody
     AjaxResult enableFocusMode(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlFocusMode(cmd));
+        return cameraSdkService.controlFocusMode(cmd);
     }
 
     @ApiOperation(value = "鑾峰彇鑱氱劍妯″紡", notes = "1鎵嬪姩2鑷姩")
@@ -278,8 +298,7 @@
     public @ResponseBody
     AjaxResult getFocusMode(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        String focusMode = cameraSdkService.getFocusMode(cmd);
-        return AjaxResult.success(focusMode);
+        return cameraSdkService.getFocusMode(cmd);
     }
 
     @ApiOperation("浜戝彴鍔犵儹")
@@ -289,7 +308,7 @@
     public @ResponseBody
     AjaxResult heateRpwron(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlPTHeateRpwron(cmd));
+        return cameraSdkService.controlPTHeateRpwron(cmd);
     }
 
 
@@ -300,7 +319,7 @@
     public @ResponseBody
     AjaxResult cameraDeicing(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlCameraDeicing(cmd));
+        return cameraSdkService.controlCameraDeicing(cmd);
     }
 
     @ApiOperation("鐩告満鎶撳浘")
@@ -321,7 +340,7 @@
     public @ResponseBody
     AjaxResult getGisInfo(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.getGisInfo(cmd));
+        return cameraSdkService.getGisInfo(cmd);
     }
 
     @ApiOperation("褰曞儚")

--
Gitblit v1.9.3