From f37c91a84345f925e41cd26bf5d22ed1a2594bdf Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期四, 06 六月 2024 14:37:16 +0800
Subject: [PATCH] 防止录像文件持续生成,增加启动项目清空本地录像临时文件

---
 ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java |  115 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 82 insertions(+), 33 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 a6e4edc..e1e3ec5 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
@@ -23,6 +23,10 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -44,8 +48,10 @@
     private ICameraSdkService cameraSdkService;
     @Resource
     private IArdCamerasService ardCamerasService;
+
     @Autowired
     private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService;
+
 
     @RequestMapping("/preview")
     private String preview() {
@@ -92,7 +98,7 @@
     public @ResponseBody
     AjaxResult PTZControlWithSpeed(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.pTZControl(cmd));
+        return cameraSdkService.pTZControl(cmd);
     }
 
     @ApiOperation("璋冪敤棰勭疆鐐�")
@@ -102,7 +108,7 @@
     public @ResponseBody
     AjaxResult gotoPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.gotoPreset(cmd));
+        return cameraSdkService.gotoPreset(cmd);
     }
 
     @ApiOperation("璁剧疆棰勭疆鐐�")
@@ -112,7 +118,7 @@
     public @ResponseBody
     AjaxResult setPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setPreset(cmd));
+        return cameraSdkService.setPreset(cmd);
     }
 
     @ApiOperation("鑾峰彇鑱氱劍鍊�")
@@ -122,8 +128,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("璁剧疆鑱氱劍鍊�")
@@ -133,7 +138,7 @@
     public @ResponseBody
     AjaxResult setFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setFocusPos(cmd));
+        return cameraSdkService.setFocusPos(cmd);
     }
 
     @ApiOperation("鑾峰彇PTZ")
@@ -143,8 +148,7 @@
     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鑼冨洿")
@@ -154,8 +158,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")
@@ -165,7 +168,7 @@
     public @ResponseBody
     AjaxResult setPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setPtz(cmd));
+        return cameraSdkService.setPtz(cmd);
     }
 
     @ApiOperation("鎸囧悜鐩爣")
@@ -183,7 +186,7 @@
         List<ArdCameraNoGuideZone> ardCameraNoGuideZones = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone);
         if (ardCameraNoGuideZones.size() > 0) {
             //鑾峰彇鍒板綋鍓嶇浉鏈虹殑鍧愭爣闆嗗悎
-            for(ArdCameraNoGuideZone zone:ardCameraNoGuideZones) {
+            for (ArdCameraNoGuideZone zone : ardCameraNoGuideZones) {
                 String[] parts = zone.getPoi().split(",");
                 List<Point> pointList = new ArrayList<>();
                 for (int i = 0; i < parts.length; i += 3) {
@@ -197,15 +200,23 @@
                 Point targetPoint = new Point(lon, lat);
                 //鍒ゆ柇寮曞鐩爣鏄惁鍦ㄥ潗鏍囬泦鍚堢粍鎴愮殑澶氳竟褰㈠唴
                 boolean inPolygon = GisUtil.isInPolygon(targetPoint, pointList);
-                if(inPolygon)
-                {
+                if (inPolygon) {
                     return AjaxResult.error("寮曞鍧愭爣浣嶄簬绂佸紩鍙鍩熷唴");
                 }
             }
         }
-        return toAjax(cameraSdkService.guideTargetPosition(cmd));
+        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")
@@ -214,7 +225,7 @@
     public @ResponseBody
     AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setZeroPtz(cmd));
+        return cameraSdkService.setZeroPtz(cmd);
     }
 
     @ApiOperation("璁剧疆閿佸畾")
@@ -224,7 +235,7 @@
     public @ResponseBody
     AjaxResult setPTZLock(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.controlLock(cmd));
+        return cameraSdkService.controlLock(cmd);
     }
 
     @ApiOperation("璁剧疆瑙i攣")
@@ -234,7 +245,7 @@
     public @ResponseBody
     AjaxResult setPTZUnLock(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.controlUnLock(cmd));
+        return cameraSdkService.controlUnLock(cmd);
     }
 
     @ApiOperation("鑾峰彇浜戝彴閿佸畾淇℃伅")
@@ -244,7 +255,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) {
@@ -261,7 +273,7 @@
     public @ResponseBody
     AjaxResult defogcfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlDefogcfg(cmd));
+        return cameraSdkService.controlDefogcfg(cmd);
     }
 
     @ApiOperation("绾㈠寮�鍏�")
@@ -271,7 +283,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鑷姩")
@@ -281,7 +293,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鑷姩")
@@ -290,8 +302,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("浜戝彴鍔犵儹")
@@ -301,7 +312,7 @@
     public @ResponseBody
     AjaxResult heateRpwron(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlPTHeateRpwron(cmd));
+        return cameraSdkService.controlPTHeateRpwron(cmd);
     }
 
 
@@ -312,7 +323,7 @@
     public @ResponseBody
     AjaxResult cameraDeicing(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlCameraDeicing(cmd));
+        return cameraSdkService.controlCameraDeicing(cmd);
     }
 
     @ApiOperation("鐩告満鎶撳浘")
@@ -326,6 +337,20 @@
         return toAjaxString(path, "鐩告満鎶撳浘");
     }
 
+    @ApiOperation("鏈湴鎶撳浘")
+    @PostMapping("/localCapture")
+    @Log(title = "鐩告満鎶撳浘", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    void localCapture(@RequestBody CameraCmd cmd, HttpServletResponse response) throws IOException {
+        cmd.setOperator(SecurityUtils.getUserId());
+        response.setContentType("image/jpeg");
+        AjaxResult result = cameraSdkService.localCapture(cmd);
+        OutputStream outputStream = response.getOutputStream();
+        byte[] data = (byte[]) result.get("data");
+        outputStream.write(data);
+    }
+
     @ApiOperation("鑾峰彇鐩告満鏋惰鍙傛暟")
     @PostMapping("/getGisInfo")
     @Log(title = "鑾峰彇鐩告満鏋惰鍙傛暟", businessType = BusinessType.CONTROL)
@@ -333,13 +358,13 @@
     public @ResponseBody
     AjaxResult getGisInfo(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.getGisInfo(cmd));
+        return cameraSdkService.getGisInfo(cmd);
     }
 
-    @ApiOperation("褰曞儚")
+    //@ApiOperation("褰曞儚")
     @PostMapping("/record")
     @Log(title = "鎵嬪姩褰曞儚寮�濮�", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
+    //@ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
     public @ResponseBody
     AjaxResult record(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
@@ -347,10 +372,10 @@
         return AjaxResult.success(url);
     }
 
-    @ApiOperation("鎵嬪姩褰曞儚寮�濮�")
+    //@ApiOperation("鎵嬪姩褰曞儚寮�濮�")
     @PostMapping("/recordStart")
     @Log(title = "鎵嬪姩褰曞儚寮�濮�", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    //@ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
     public @ResponseBody
     AjaxResult recordStart(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
@@ -358,14 +383,38 @@
         return toAjax(b);
     }
 
-    @ApiOperation("鎵嬪姩褰曞儚鍋滄")
+    //@ApiOperation("鎵嬪姩褰曞儚鍋滄")
     @PostMapping("/recordStop")
     @Log(title = "鎵嬪姩褰曞儚鍋滄", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.recordBucketName", "cmd.recordObjectName"})
+    //@ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.recordBucketName", "cmd.recordObjectName"})
     public @ResponseBody
     AjaxResult recordStop(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
         String url = cameraSdkService.recordStopToMinio(cmd);
         return AjaxResult.success(url);
     }
+
+    @ApiOperation("鏈湴褰曞儚寮�濮�")
+    @PostMapping("/localRecordStart")
+    @Log(title = "鏈湴褰曞儚寮�濮�", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    AjaxResult localRecordStart(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return cameraSdkService.localRecordStart(cmd);
+    }
+
+    @ApiOperation("鏈湴褰曞儚鍋滄")
+    @PostMapping("/localRecordStop")
+    @Log(title = "鏈湴褰曞儚鍋滄", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.recordId"})
+    public @ResponseBody
+    void localRecordStop(@RequestBody CameraCmd cmd, HttpServletResponse response) throws IOException {
+        cmd.setOperator(SecurityUtils.getUserId());
+        response.setContentType("video/mp4");
+        AjaxResult result = cameraSdkService.localRecordStop(cmd);
+        byte[] recordBytes = (byte[]) result.get("data");
+        OutputStream outputStream = response.getOutputStream();
+        outputStream.write(recordBytes);
+    }
 }

--
Gitblit v1.9.3