From 3591fc47eaa3e301252dc06d257d46bd3a45e120 Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期一, 23 十月 2023 22:10:19 +0800
Subject: [PATCH] 相机sdk异步登录

---
 ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java |  723 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 365 insertions(+), 358 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 7bb9070..65c6d73 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
@@ -1,358 +1,365 @@
-package com.ruoyi.device.camera.controller;
-
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import com.ruoyi.common.annotation.Anonymous;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.AjaxResult;
-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.camera.service.ICameraSdkService;
-import com.ruoyi.device.dhsdk.service.IDhClientService;
-import com.ruoyi.device.hiksdk.service.IHikClientService;
-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.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.List;
-import java.util.Map;
-
-/**
- * @Description:
- * @ClassName: CameraSdkController
- * @Author: 鍒樿嫃涔�
- * @Date: 2023骞�10鏈�14鏃�17:02:56
- **/
-
-@Api(tags = "鐩告満閫氱敤SDK鎺ュ彛")
-@Controller
-@RequestMapping("/cameraSdk")
-@Anonymous
-public class CameraSdkController extends BaseController {
-
-    @Resource
-    private ICameraSdkService cameraSdkService;
-    @Resource
-    private IArdCamerasService ardCamerasService;
-
-    /**
-     * @鎻忚堪 鍒濆鍔犺浇SDK搴撴枃浠�
-     * @杩斿洖鍊� void
-     * @鍒涘缓浜� 鍒樿嫃涔�
-     * @鍒涘缓鏃堕棿 2023/1/17 16:13
-     * @淇敼浜哄拰鍏跺畠淇℃伅 if (Platform.isLinux())
-     */
-    @PostConstruct
-    public void initSDK() {
-        cameraSdkService.initSDK();
-    }
-
-    @RequestMapping("/preview")
-    private String preview() {
-        return "preview";
-    }
-
-    @RequestMapping("/index")
-    private String index() {
-        return "test";
-    }
-
-    @GetMapping("/list")
-    public @ResponseBody
-    AjaxResult list(ArdCameras ardCamera) {
-        List<ArdCameras> list = ardCamerasService.selectArdCamerasListNoDataScope(ardCamera);
-        return AjaxResult.success("鐩告満鍒楄〃锛�", list);
-    }
-
-    @ApiOperation("鑾峰彇鐮佹祦鍘嬬缉鍙傛暟")
-    @PostMapping("/getVideoCompressionCfg")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
-    @Log(title = "鑾峰彇鐮佹祦鍘嬬缉鍙傛暟", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult getVideoCompressionCfg(@RequestBody CameraCmd cmd) {
-        return AjaxResult.success(cameraSdkService.getVideoCompressionCfg(cmd));
-    }
-
-    @ApiOperation("鍦ㄧ嚎鐘舵��")
-    @PostMapping("/state")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId"})
-    @Log(title = "鍦ㄧ嚎鐘舵��", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult getOnlineState(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        boolean onLine = cameraSdkService.isOnLine(cmd);
-        return AjaxResult.success(onLine);
-    }
-
-    @ApiOperation(value = "浜戝彴鎺у埗", notes = "Code:1-宸︿笂 2-涓� 3-鍙充笂 4-宸� 5-宸¤埅 6-鍙� 7-宸︿笅 8-涓� 9-鍙充笅 10-鐒﹁窛鍙樺ぇ 11-鐒﹁窛鍙樺皬\n" +
-            "12-鐒︾偣鍓嶈皟 13-鐒︾偣鍚庤皟 14-鍏夊湀鎵╁ぇ 15-鍏夊湀缂╁皬 16-闆ㄥ埛寮�鍚�")
-    @PostMapping("/PTZControlWithSpeed")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.speed", "cmd.enable", "cmd.code"})
-    @Log(title = "浜戝彴鎺у埗", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult PTZControlWithSpeed(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.pTZControl(cmd));
-    }
-
-    @ApiOperation("璋冪敤棰勭疆鐐�")
-    @PostMapping("/gotoPreset")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.presetIndex"})
-    @Log(title = "璋冪敤棰勭疆鐐�", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult gotoPreset(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.gotoPreset(cmd));
-    }
-
-    @ApiOperation("璁剧疆棰勭疆鐐�")
-    @PostMapping("/setPreset")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.presetIndex"})
-    @Log(title = "璁剧疆棰勭疆鐐�", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult setPreset(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setPreset(cmd));
-    }
-
-    @ApiOperation("鑾峰彇鑱氱劍鍊�")
-    @PostMapping("/getFocusPos")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
-    @Log(title = "鑾峰彇鑱氱劍鍊�", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult getFocusPos(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> Map = cameraSdkService.getFocusPos(cmd);
-        return AjaxResult.success("鑾峰彇鑱氱劍鍊�", Map);
-    }
-
-    @ApiOperation("璁剧疆鑱氱劍鍊�")
-    @PostMapping("/setFocusPos")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.dwFocusPos"})
-    @Log(title = "璁剧疆鑱氱劍鍊�", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult setFocusPos(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setFocusPos(cmd));
-    }
-
-    @ApiOperation("鑾峰彇PTZ")
-    @PostMapping("/getPTZ")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
-    @Log(title = "鑾峰彇PTZ", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult getPTZ(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd);
-        return AjaxResult.success("鑾峰彇ptz", ptzMap);
-    }
-
-    @ApiOperation("鑾峰彇PTZ鑼冨洿")
-    @PostMapping("/getPTZScope")
-    @Log(title = "鑾峰彇PTZ鑼冨洿", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
-    public @ResponseBody
-    AjaxResult getPTZScope(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> ptzMap = cameraSdkService.getPtzScope(cmd);
-        return AjaxResult.success("鑾峰彇ptz鑼冨洿", ptzMap);
-    }
-
-    @ApiOperation("璁剧疆PTZ")
-    @PostMapping("/setPTZ")
-    @Log(title = "璁剧疆PTZ", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.ptzMap"})
-    public @ResponseBody
-    AjaxResult setPTZ(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setPtz(cmd));
-    }
-
-    @ApiOperation("鎸囧悜鐩爣")
-    @PostMapping("/setTargetPosition")
-    @Log(title = "鎸囧悜鐩爣", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.targetPosition"})
-    public @ResponseBody
-    AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.guideTargetPosition(cmd));
-    }
-
-
-    @ApiOperation("璁剧疆闆舵柟浣嶈")
-    @PostMapping("/setZeroPTZ")
-    @Log(title = "璁剧疆闆舵柟浣嶈", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.cmd.chanNo"})
-    public @ResponseBody
-    AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.setZeroPtz(cmd));
-    }
-
-    @ApiOperation("璁剧疆閿佸畾")
-    @PostMapping("/setPTZLock")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.expired"})
-    @Log(title = "璁剧疆閿佸畾", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult setPTZLock(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.controlLock(cmd));
-    }
-
-    @ApiOperation("璁剧疆瑙i攣")
-    @PostMapping("/setPTZUnLock")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId"})
-    @Log(title = "璁剧疆瑙i攣", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult setPTZUnLock(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.controlUnLock(cmd));
-    }
-
-    @ApiOperation("鑾峰彇浜戝彴閿佸畾淇℃伅")
-    @PostMapping("/getPTZLockInfo")
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
-    @Log(title = "鑾峰彇浜戝彴閿佸畾淇℃伅", businessType = BusinessType.CONTROL)
-    public @ResponseBody
-    AjaxResult getPTZLockInfo(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        int byWorkMode = cameraSdkService.getPTZLockInfo(cmd);
-        if (byWorkMode == 0) {
-            return AjaxResult.success("浜戝彴閿佸畾鐘舵�侊細瑙i攣");
-        } else if (byWorkMode == 1) {
-            return AjaxResult.success("浜戝彴閿佸畾鐘舵�侊細閿佸畾");
-        } else {
-            return AjaxResult.error("浜戝彴閿佸畾鐘舵�侊細澶辫触");
-        }
-    }
-
-    @ApiOperation("閫忛浘寮�鍏�")
-    @PostMapping("/defogcfg")
-    @Log(title = "閫忛浘寮�鍏�", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
-    public @ResponseBody
-    AjaxResult defogcfg(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlDefogcfg(cmd));
-    }
-
-    @ApiOperation("绾㈠寮�鍏�")
-    @PostMapping("/infrarecfg")
-    @Log(title = "绾㈠寮�鍏�", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
-    public @ResponseBody
-    AjaxResult infrarecfg(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlInfrarecfg(cmd));
-    }
-
-    @ApiOperation(value = "鎵嬪姩/鑷姩鑱氱劍", notes = "true鎵嬪姩flase鑷姩")
-    @PostMapping("/focusMode")
-    @Log(title = "鎵嬪姩/鑷姩鑱氱劍", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
-    public @ResponseBody
-    AjaxResult enableFocusMode(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlFocusMode(cmd));
-    }
-
-    @ApiOperation(value = "鑾峰彇鑱氱劍妯″紡", notes = "1鎵嬪姩2鑷姩")
-    @PostMapping("/getFocusMode")
-    public @ResponseBody
-    AjaxResult getFocusMode(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        String focusMode = cameraSdkService.getFocusMode(cmd);
-        return AjaxResult.success(focusMode);
-    }
-
-    @ApiOperation("浜戝彴鍔犵儹")
-    @PostMapping("/heateRpwron")
-    @Log(title = "浜戝彴鍔犵儹", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
-    public @ResponseBody
-    AjaxResult heateRpwron(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlPTHeateRpwron(cmd));
-    }
-
-
-    @ApiOperation("闀滃ご鍔犵儹")
-    @PostMapping("/cameraDeicing")
-    @Log(title = "闀滃ご鍔犵儹", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
-    public @ResponseBody
-    AjaxResult cameraDeicing(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(cameraSdkService.controlCameraDeicing(cmd));
-    }
-
-    @ApiOperation("鐩告満鎶撳浘")
-    @PostMapping("/picCutCate")
-    @Log(title = "鐩告満鎶撳浘", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
-    public @ResponseBody
-    AjaxResult picCutCate(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        String path = cameraSdkService.picCutCate(cmd);
-        return toAjaxString(path, "鐩告満鎶撳浘");
-    }
-
-    @ApiOperation("鑾峰彇鐩告満鏋惰鍙傛暟")
-    @PostMapping("/getGisInfo")
-    @Log(title = "鑾峰彇鐩告満鏋惰鍙傛暟", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
-    public @ResponseBody
-    AjaxResult getGisInfo(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(cameraSdkService.getGisInfo(cmd));
-    }
-
-    @ApiOperation("鎵嬪姩褰曞儚寮�濮�")
-    @PostMapping("/recordStart")
-    @Log(title = "鎵嬪姩褰曞儚寮�濮�", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
-    public @ResponseBody
-    AjaxResult recordStart(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        boolean b = cameraSdkService.recordStart(cmd);
-        return toAjax(b);
-    }
-    @ApiOperation("鎵嬪姩褰曞儚鍋滄")
-    @PostMapping("/recordStop")
-    @Log(title = "鎵嬪姩褰曞儚鍋滄", businessType = BusinessType.CONTROL)
-    @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);
-    }
-}
+package com.ruoyi.device.camera.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+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.camera.service.ICameraSdkService;
+import com.ruoyi.device.dhsdk.service.IDhClientService;
+import com.ruoyi.device.hiksdk.service.IHikClientService;
+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.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.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @ClassName: CameraSdkController
+ * @Author: 鍒樿嫃涔�
+ * @Date: 2023骞�10鏈�14鏃�17:02:56
+ **/
+
+@Api(tags = "鐩告満閫氱敤SDK鎺ュ彛")
+@Controller
+@RequestMapping("/cameraSdk")
+@Anonymous
+public class CameraSdkController extends BaseController {
+
+    @Resource
+    private ICameraSdkService cameraSdkService;
+    @Resource
+    private IArdCamerasService ardCamerasService;
+
+
+//    //鍒濆鐧诲綍鎵�鏈夌浉鏈�
+//    @PostConstruct
+//    public void initLoginAll() {
+//        cameraSdkService.loginAll();
+//    }
+
+    @RequestMapping("/preview")
+    private String preview() {
+        return "preview";
+    }
+
+    @RequestMapping("/index")
+    private String index() {
+        return "test";
+    }
+
+    @GetMapping("/list")
+    public @ResponseBody
+    AjaxResult list(ArdCameras ardCamera) {
+        List<ArdCameras> list = ardCamerasService.selectArdCamerasListNoDataScope(ardCamera);
+        return AjaxResult.success("鐩告満鍒楄〃锛�", list);
+    }
+
+    @ApiOperation("鑾峰彇鐮佹祦鍘嬬缉鍙傛暟")
+    @PostMapping("/getVideoCompressionCfg")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    @Log(title = "鑾峰彇鐮佹祦鍘嬬缉鍙傛暟", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult getVideoCompressionCfg(@RequestBody CameraCmd cmd) {
+        return AjaxResult.success(cameraSdkService.getVideoCompressionCfg(cmd));
+    }
+
+    @ApiOperation("鍦ㄧ嚎鐘舵��")
+    @PostMapping("/state")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId"})
+    @Log(title = "鍦ㄧ嚎鐘舵��", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult getOnlineState(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        boolean onLine = cameraSdkService.isOnLine(cmd);
+        return AjaxResult.success(onLine);
+    }
+
+    @ApiOperation(value = "浜戝彴鎺у埗", notes = "Code:1-宸︿笂 2-涓� 3-鍙充笂 4-宸� 5-宸¤埅 6-鍙� 7-宸︿笅 8-涓� 9-鍙充笅 10-鐒﹁窛鍙樺ぇ 11-鐒﹁窛鍙樺皬\n" +
+            "12-鐒︾偣鍓嶈皟 13-鐒︾偣鍚庤皟 14-鍏夊湀鎵╁ぇ 15-鍏夊湀缂╁皬 16-闆ㄥ埛寮�鍚�")
+    @PostMapping("/PTZControlWithSpeed")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.speed", "cmd.enable", "cmd.code"})
+    @Log(title = "浜戝彴鎺у埗", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult PTZControlWithSpeed(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.pTZControl(cmd));
+    }
+
+    @ApiOperation("璋冪敤棰勭疆鐐�")
+    @PostMapping("/gotoPreset")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.presetIndex"})
+    @Log(title = "璋冪敤棰勭疆鐐�", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult gotoPreset(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.gotoPreset(cmd));
+    }
+
+    @ApiOperation("璁剧疆棰勭疆鐐�")
+    @PostMapping("/setPreset")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.presetIndex"})
+    @Log(title = "璁剧疆棰勭疆鐐�", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult setPreset(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.setPreset(cmd));
+    }
+
+    @ApiOperation("鑾峰彇鑱氱劍鍊�")
+    @PostMapping("/getFocusPos")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    @Log(title = "鑾峰彇鑱氱劍鍊�", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult getFocusPos(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        int focus = cameraSdkService.getFocusPos(cmd);
+        return AjaxResult.success("鑾峰彇鑱氱劍鍊�", focus);
+    }
+
+    @ApiOperation("璁剧疆鑱氱劍鍊�")
+    @PostMapping("/setFocusPos")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.dwFocusPos"})
+    @Log(title = "璁剧疆鑱氱劍鍊�", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult setFocusPos(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.setFocusPos(cmd));
+    }
+
+    @ApiOperation("鑾峰彇PTZ")
+    @PostMapping("/getPTZ")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    @Log(title = "鑾峰彇PTZ", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult getPTZ(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd);
+        return AjaxResult.success("鑾峰彇ptz", ptzMap);
+    }
+    @ApiOperation("鑾峰彇PTZ鑼冨洿")
+    @PostMapping("/getPTZScope")
+    @Log(title = "鑾峰彇PTZ鑼冨洿", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    AjaxResult getPTZScope(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        Map<String, Object> ptzMap = cameraSdkService.getPtzScope(cmd);
+        return AjaxResult.success("鑾峰彇ptz鑼冨洿", ptzMap);
+    }
+
+    @ApiOperation("璁剧疆PTZ")
+    @PostMapping("/setPTZ")
+    @Log(title = "璁剧疆PTZ", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.ptzMap"})
+    public @ResponseBody
+    AjaxResult setPTZ(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.setPtz(cmd));
+    }
+
+    @ApiOperation("鎸囧悜鐩爣")
+    @PostMapping("/setTargetPosition")
+    @Log(title = "鎸囧悜鐩爣", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.targetPosition"})
+    public @ResponseBody
+    AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.guideTargetPosition(cmd));
+    }
+
+
+    @ApiOperation("璁剧疆闆舵柟浣嶈")
+    @PostMapping("/setZeroPTZ")
+    @Log(title = "璁剧疆闆舵柟浣嶈", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.setZeroPtz(cmd));
+    }
+
+    @ApiOperation("璁剧疆閿佸畾")
+    @PostMapping("/setPTZLock")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.expired"})
+    @Log(title = "璁剧疆閿佸畾", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult setPTZLock(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return AjaxResult.success(cameraSdkService.controlLock(cmd));
+    }
+
+    @ApiOperation("璁剧疆瑙i攣")
+    @PostMapping("/setPTZUnLock")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId"})
+    @Log(title = "璁剧疆瑙i攣", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult setPTZUnLock(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return AjaxResult.success(cameraSdkService.controlUnLock(cmd));
+    }
+
+    @ApiOperation("鑾峰彇浜戝彴閿佸畾淇℃伅")
+    @PostMapping("/getPTZLockInfo")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    @Log(title = "鑾峰彇浜戝彴閿佸畾淇℃伅", businessType = BusinessType.CONTROL)
+    public @ResponseBody
+    AjaxResult getPTZLockInfo(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        int byWorkMode = cameraSdkService.getPTZLockInfo(cmd);
+        if (byWorkMode == 0) {
+            return AjaxResult.success("浜戝彴閿佸畾鐘舵�侊細瑙i攣");
+        } else if (byWorkMode == 1) {
+            return AjaxResult.success("浜戝彴閿佸畾鐘舵�侊細閿佸畾");
+        } else {
+            return AjaxResult.error("浜戝彴閿佸畾鐘舵�侊細澶辫触");
+        }
+    }
+
+    @ApiOperation("閫忛浘寮�鍏�")
+    @PostMapping("/defogcfg")
+    @Log(title = "閫忛浘寮�鍏�", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
+    public @ResponseBody
+    AjaxResult defogcfg(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.controlDefogcfg(cmd));
+    }
+
+    @ApiOperation("绾㈠寮�鍏�")
+    @PostMapping("/infrarecfg")
+    @Log(title = "绾㈠寮�鍏�", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
+    public @ResponseBody
+    AjaxResult infrarecfg(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.controlInfrarecfg(cmd));
+    }
+
+    @ApiOperation(value = "鎵嬪姩/鑷姩鑱氱劍", notes = "true鎵嬪姩flase鑷姩")
+    @PostMapping("/focusMode")
+    @Log(title = "鎵嬪姩/鑷姩鑱氱劍", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
+    public @ResponseBody
+    AjaxResult enableFocusMode(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.controlFocusMode(cmd));
+    }
+
+    @ApiOperation(value = "鑾峰彇鑱氱劍妯″紡", notes = "1鎵嬪姩2鑷姩")
+    @PostMapping("/getFocusMode")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    AjaxResult getFocusMode(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        String focusMode = cameraSdkService.getFocusMode(cmd);
+        return AjaxResult.success(focusMode);
+    }
+
+    @ApiOperation("浜戝彴鍔犵儹")
+    @PostMapping("/heateRpwron")
+    @Log(title = "浜戝彴鍔犵儹", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
+    public @ResponseBody
+    AjaxResult heateRpwron(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.controlPTHeateRpwron(cmd));
+    }
+
+
+    @ApiOperation("闀滃ご鍔犵儹")
+    @PostMapping("/cameraDeicing")
+    @Log(title = "闀滃ご鍔犵儹", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
+    public @ResponseBody
+    AjaxResult cameraDeicing(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return toAjax(cameraSdkService.controlCameraDeicing(cmd));
+    }
+
+    @ApiOperation("鐩告満鎶撳浘")
+    @PostMapping("/picCutCate")
+    @Log(title = "鐩告満鎶撳浘", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    AjaxResult picCutCate(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        String path = cameraSdkService.picCutCate(cmd);
+        return toAjaxString(path, "鐩告満鎶撳浘");
+    }
+
+    @ApiOperation("鑾峰彇鐩告満鏋惰鍙傛暟")
+    @PostMapping("/getGisInfo")
+    @Log(title = "鑾峰彇鐩告満鏋惰鍙傛暟", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    AjaxResult getGisInfo(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return AjaxResult.success(cameraSdkService.getGisInfo(cmd));
+    }
+
+    @ApiOperation("褰曞儚")
+    @PostMapping("/record")
+    @Log(title = "鎵嬪姩褰曞儚寮�濮�", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
+    public @ResponseBody
+    AjaxResult record(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        String url = cameraSdkService.record(cmd);
+        return AjaxResult.success(url);
+    }
+
+    @ApiOperation("鎵嬪姩褰曞儚寮�濮�")
+    @PostMapping("/recordStart")
+    @Log(title = "鎵嬪姩褰曞儚寮�濮�", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    AjaxResult recordStart(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        boolean b = cameraSdkService.recordStart(cmd);
+        return toAjax(b);
+    }
+
+    @ApiOperation("鎵嬪姩褰曞儚鍋滄")
+    @PostMapping("/recordStop")
+    @Log(title = "鎵嬪姩褰曞儚鍋滄", businessType = BusinessType.CONTROL)
+    @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);
+    }
+}

--
Gitblit v1.9.3