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