| | |
| | | package com.ruoyi.utils.sdk.hiksdk.controller;
|
| | |
|
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
| | | import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
|
| | | import com.ruoyi.common.annotation.Log;
|
| | | import com.ruoyi.common.core.controller.BaseController;
|
| | | import com.ruoyi.common.enums.BusinessType;
|
| | |
| | | import com.ruoyi.device.camera.service.IArdCamerasService;
|
| | | import com.ruoyi.common.annotation.Anonymous;
|
| | | import com.ruoyi.common.core.domain.AjaxResult;
|
| | | import com.ruoyi.utils.sdk.hiksdk.service.impl.HikSdkStrategy;
|
| | | import com.ruoyi.utils.sdk.hiksdk.service.impl.HikvisionSDK;
|
| | | import io.swagger.annotations.Api;
|
| | | import io.swagger.annotations.ApiOperation;
|
| | | import org.springframework.stereotype.Controller;
|
| | | import org.springframework.web.bind.annotation.*;
|
| | | import springfox.documentation.annotations.ApiIgnore;
|
| | | import javax.annotation.Resource;
|
| | | import javax.servlet.http.HttpServletResponse;
|
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | |
|
| | |
| | | public class HikSdkController extends BaseController {
|
| | |
|
| | | @Resource
|
| | | private HikSdkStrategy sdk;
|
| | | private HikvisionSDK sdk;
|
| | | @Resource
|
| | | private IArdCamerasService ardCamerasService;
|
| | | @Resource
|
| | | private IArdAlarmpointsWellService ardAlarmpointsWellService;
|
| | |
|
| | |
|
| | | @RequestMapping("/preview")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult PTZControlWithSpeed(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.pTZControl(cmd));
|
| | | return sdk.pTZControl(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("调用预置点")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult gotoPreset(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.gotoPreset(cmd));
|
| | | return sdk.gotoPreset(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("设置预置点")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult setPreset(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.setPreset(cmd));
|
| | | return sdk.setPreset(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("获取聚焦值")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult getFocusPos(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | int focus = sdk.getFocusPos(cmd);
|
| | | return AjaxResult.success("获取聚焦值", focus);
|
| | | return sdk.getFocusPos(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("设置聚焦值")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult setFocusPos(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.setFocusPos(cmd));
|
| | | return sdk.setFocusPos(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("获取PTZ")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult setPTZ(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.setPtz(cmd));
|
| | | return sdk.setPtz(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("指向目标")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.guideTargetPosition(cmd));
|
| | | return sdk.guideTargetPosition(cmd);
|
| | | }
|
| | |
|
| | |
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.setZeroPtz(cmd));
|
| | | return sdk.setZeroPtz(cmd);
|
| | | }
|
| | |
|
| | |
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult getPTZLockInfo(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | int byWorkMode = sdk.getPTZLockInfo(cmd);
|
| | | AjaxResult ajaxResult = sdk.getPTZLockInfo(cmd);
|
| | | int byWorkMode = (int)ajaxResult.get("msg");
|
| | | if (byWorkMode == 0) {
|
| | | return AjaxResult.success("云台锁定状态:解锁");
|
| | | } else if (byWorkMode == 1) {
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult defogcfg(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.controlDefogcfg(cmd));
|
| | | return sdk.controlDefogcfg(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("红外开关")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult infrarecfg(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.controlInfrarecfg(cmd));
|
| | | return sdk.controlInfrarecfg(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation(value = "手动/自动聚焦", notes = "true手动flase自动")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult enableFocusMode(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.controlFocusMode(cmd));
|
| | | return sdk.controlFocusMode(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation(value = "获取聚焦模式", notes = "1手动2自动")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult getFocusMode(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | String focusMode = sdk.getFocusMode(cmd);
|
| | | return AjaxResult.success(focusMode);
|
| | | return sdk.getFocusMode(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("云台加热")
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult heateRpwron(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.controlPTHeateRpwron(cmd));
|
| | | return sdk.controlPTHeateRpwron(cmd);
|
| | | }
|
| | |
|
| | |
|
| | |
| | | public @ResponseBody
|
| | | AjaxResult cameraDeicing(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return toAjax(sdk.controlCameraDeicing(cmd));
|
| | | return sdk.controlCameraDeicing(cmd);
|
| | | }
|
| | |
|
| | | @PostMapping("/captureJPEGPicture")
|
| | | @PostMapping("/localCapture")
|
| | | public @ResponseBody
|
| | | AjaxResult captureJPEGPicture(@RequestBody CameraCmd cmd) {
|
| | | void localCapture(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | String base64Str = sdk.captureJPEGPicture(cmd);
|
| | | return toAjaxString(base64Str, "相机抓图");
|
| | | sdk.localCapture(cmd);
|
| | | }
|
| | |
|
| | | @ApiOperation("相机抓图")
|
| | |
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | return AjaxResult.success(sdk.getGisInfo(cmd));
|
| | | }
|
| | |
|
| | | @PostMapping("/getCameraVideoLable")
|
| | | public @ResponseBody
|
| | | AjaxResult getCameraVideoLable(@RequestBody CameraCmd cmd) {
|
| | | cmd.setOperator(SecurityUtils.getUserId());
|
| | | Map<String, Object> map = sdk.getGisInfo(cmd);
|
| | | Double p = (Double) map.get("p");
|
| | | Double t = (Double) map.get("t");
|
| | | Double z = (Double) map.get("z");
|
| | | Double fHorFieldAngle = (Double) map.get("fHorFieldAngle");// 水平视场角
|
| | | Double fVerFieldAngle = (Double) map.get("fVerFieldAngle");// 垂直视场角
|
| | | if(z <= 5.0){
|
| | | return AjaxResult.error("变焦小于5");
|
| | | }
|
| | | if(t > 359.0){
|
| | | return AjaxResult.error("俯仰角过小");
|
| | | }
|
| | | List<Map<String,Object>> result = ardAlarmpointsWellService.getCameraVideoLable(SecurityUtils.getDeptId(),cmd.getCameraId(),p,t,fHorFieldAngle,fVerFieldAngle);
|
| | | return AjaxResult.success(result);
|
| | | }
|
| | | }
|