old mode 100644
new mode 100755
 |  |  | 
 |  |  | package com.genersoft.iot.vmp.vmanager.gb28181.ptz; | 
 |  |  |  | 
 |  |  |   | 
 |  |  | import com.genersoft.iot.vmp.conf.exception.ControllerException; | 
 |  |  | import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; | 
 |  |  | import io.swagger.v3.oas.annotations.Operation; | 
 |  |  | import io.swagger.v3.oas.annotations.Parameter; | 
 |  |  | import io.swagger.v3.oas.annotations.tags.Tag; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.util.ObjectUtils; | 
 |  |  | import org.springframework.util.StringUtils; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  | import org.springframework.web.context.request.async.DeferredResult; | 
 |  |  |  | 
 |  |  | import com.genersoft.iot.vmp.conf.exception.ControllerException; | 
 |  |  | import com.genersoft.iot.vmp.conf.security.JwtUtils; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.Device; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; | 
 |  |  | import com.genersoft.iot.vmp.storager.IVideoManagerStorage; | 
 |  |  | import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; | 
 |  |  | import io.swagger.v3.oas.annotations.Operation; | 
 |  |  | import io.swagger.v3.oas.annotations.Parameter; | 
 |  |  | import io.swagger.v3.oas.annotations.security.SecurityRequirement; | 
 |  |  | import io.swagger.v3.oas.annotations.tags.Tag; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.util.ObjectUtils; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  | import org.springframework.web.context.request.async.DeferredResult; | 
 |  |  |  | 
 |  |  | import javax.sip.InvalidArgumentException; | 
 |  |  | import javax.sip.SipException; | 
 |  |  | 
 |  |  | import java.util.UUID; | 
 |  |  |  | 
 |  |  | @Tag(name  = "云台控制") | 
 |  |  | @CrossOrigin | 
 |  |  |  | 
 |  |  | @RestController | 
 |  |  | @RequestMapping("/api/ptz") | 
 |  |  | public class PtzController { | 
 |  |  | 
 |  |  |     * @param zoomSpeed       缩放速度 | 
 |  |  |     */ | 
 |  |  |  | 
 |  |  |    @Operation(summary = "云台控制") | 
 |  |  |    @Operation(summary = "云台控制", security = @SecurityRequirement(name = JwtUtils.HEADER)) | 
 |  |  |    @Parameter(name = "deviceId", description = "设备国标编号", required = true) | 
 |  |  |    @Parameter(name = "channelId", description = "通道国标编号", required = true) | 
 |  |  |    @Parameter(name = "command", description = "控制指令,允许值: left, right, up, down, upleft, upright, downleft, downright, zoomin, zoomout, stop", required = true) | 
 |  |  | 
 |  |  |             cmdCode = 32; | 
 |  |  |             break; | 
 |  |  |          case "stop": | 
 |  |  |             horizonSpeed = 0; | 
 |  |  |             verticalSpeed = 0; | 
 |  |  |             zoomSpeed = 0; | 
 |  |  |             break; | 
 |  |  |          default: | 
 |  |  |             break; | 
 |  |  | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |    @Operation(summary = "通用前端控制命令") | 
 |  |  |    @Operation(summary = "通用前端控制命令", security = @SecurityRequirement(name = JwtUtils.HEADER)) | 
 |  |  |    @Parameter(name = "deviceId", description = "设备国标编号", required = true) | 
 |  |  |    @Parameter(name = "channelId", description = "通道国标编号", required = true) | 
 |  |  |    @Parameter(name = "cmdCode", description = "指令码", required = true) | 
 |  |  | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |    @Operation(summary = "预置位查询") | 
 |  |  |    @Operation(summary = "预置位查询", security = @SecurityRequirement(name = JwtUtils.HEADER)) | 
 |  |  |    @Parameter(name = "deviceId", description = "设备国标编号", required = true) | 
 |  |  |    @Parameter(name = "channelId", description = "通道国标编号", required = true) | 
 |  |  |    @GetMapping("/preset/query/{deviceId}/{channelId}") |