|  |  |  | 
|---|
|  |  |  | 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.hiksdk.service.hikClientService; | 
|---|
|  |  |  | 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 javax.annotation.PostConstruct; | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  | import javax.servlet.http.HttpServletResponse; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public class SdkController extends BaseController { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private hikClientService sdk; | 
|---|
|  |  |  | private IHikClientService sdk; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private IArdCamerasService ardCamerasService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @Log(title = "云台控制", businessType = BusinessType.CONTROL) | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult PTZControlWithSpeed(@RequestBody CameraCmd cmd) { | 
|---|
|  |  |  | return toAjax(sdk.PTZControlWithSpeed(cmd)); | 
|---|
|  |  |  | cmd.setOperator(SecurityUtils.getUserId()); | 
|---|
|  |  |  | return toAjax(sdk.pTZControlWithSpeed(cmd)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.channelNum", "cmd.ptzMap"}) | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult SetPTZ(@RequestBody CameraCmd cmd) { | 
|---|
|  |  |  | cmd.setOperator(SecurityUtils.getUserId()); | 
|---|
|  |  |  | return toAjax(sdk.setPtz(cmd)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("指向目标") | 
|---|
|  |  |  | @PostMapping("/setTargetPosition") | 
|---|
|  |  |  | @Log(title = "指向目标", businessType = BusinessType.CONTROL) | 
|---|
|  |  |  | @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.channelNum", "cmd.targetPosition"}) | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) { | 
|---|
|  |  |  | return toAjax(sdk.guideTargetPosition(cmd)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("设置零方位角") | 
|---|
|  |  |  | @PostMapping("/setZeroPTZ") | 
|---|
|  |  |  | 
|---|
|  |  |  | @Log(title = "设置锁定", businessType = BusinessType.CONTROL) | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult setPTZLock(@RequestBody CameraCmd cmd) { | 
|---|
|  |  |  | return toAjax(sdk.controlLock(cmd)); | 
|---|
|  |  |  | cmd.setOperator(SecurityUtils.getUserId()); | 
|---|
|  |  |  | return AjaxResult.success(sdk.controlLock(cmd)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("设置解锁") | 
|---|
|  |  |  | @PostMapping("/setPTZUnLock") | 
|---|
|  |  |  | @ApiOperationSupport(includeParameters = {"cmd.cameraId"}) | 
|---|
|  |  |  | @Log(title = "设置解锁", businessType = BusinessType.CONTROL) | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult setPTZUnLock(@RequestBody CameraCmd cmd) { | 
|---|
|  |  |  | cmd.setOperator(SecurityUtils.getUserId()); | 
|---|
|  |  |  | return AjaxResult.success(sdk.controlUnLock(cmd)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("获取云台锁定信息") | 
|---|
|  |  |  | 
|---|
|  |  |  | return toAjax(sdk.controlFocusMode(cmd)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "获取聚焦模式", notes = "1手动2自动") | 
|---|
|  |  |  | @PostMapping("/getFocusMode") | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult getFocusMode(@RequestBody CameraCmd cmd) { | 
|---|
|  |  |  | String focusMode = sdk.getFocusMode(cmd); | 
|---|
|  |  |  | return AjaxResult.success(focusMode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("云台加热") | 
|---|
|  |  |  | @PostMapping("/heateRpwron") | 
|---|
|  |  |  | @Log(title = "云台加热", businessType = BusinessType.CONTROL) | 
|---|
|  |  |  | 
|---|
|  |  |  | String base64Str = sdk.captureJPEGPicture(cmd); | 
|---|
|  |  |  | return toAjaxString(base64Str, "相机抓图"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("相机抓图") | 
|---|
|  |  |  | @PostMapping("/picCutCate") | 
|---|
|  |  |  | @Log(title = "相机抓图", businessType = BusinessType.CONTROL) | 
|---|