|  |  | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.http.HttpStatus; | 
 |  |  | import org.springframework.http.ResponseEntity; | 
 |  |  | import org.springframework.web.bind.annotation.CrossOrigin; | 
 |  |  | import org.springframework.web.bind.annotation.PathVariable; | 
 |  |  | import org.springframework.web.bind.annotation.PostMapping; | 
 |  |  | import org.springframework.web.bind.annotation.RequestMapping; | 
 |  |  | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; | 
 |  |  | import com.genersoft.iot.vmp.storager.IVideoManagerStorager; | 
 |  |  |  | 
 |  |  | @CrossOrigin | 
 |  |  | @RestController | 
 |  |  | @RequestMapping("/api") | 
 |  |  | public class PtzController { | 
 |  |  | 
 |  |  |    private IVideoManagerStorager storager; | 
 |  |  |  | 
 |  |  |    /*** | 
 |  |  |     * http://localhost:8080/api/ptz/34020000001320000002_34020000001320000008?leftRight=1&upDown=0&inOut=0&moveSpeed=50&zoomSpeed=0 | 
 |  |  |     * @param deviceId | 
 |  |  |     * @param channelId | 
 |  |  |     * @param leftRight | 
 |  |  |     * @param upDown | 
 |  |  |     * @param inOut | 
 |  |  |     * @param moveSpeed | 
 |  |  |     * @param zoomSpeed | 
 |  |  |     * @return | 
 |  |  |     * 云台控制 | 
 |  |  |     * @param deviceId 设备id | 
 |  |  |     * @param channelId 通道id | 
 |  |  |     * @param cmdCode      指令码 | 
 |  |  |     * @param horizonSpeed   水平移动速度 | 
 |  |  |     * @param verticalSpeed   垂直移动速度 | 
 |  |  |     * @param zoomSpeed       缩放速度 | 
 |  |  |     * @return String 控制结果 | 
 |  |  |     */ | 
 |  |  |    @PostMapping("/ptz/{deviceId}/{channelId}") | 
 |  |  |    public ResponseEntity<String> ptz(@PathVariable String deviceId,@PathVariable String channelId,int leftRight, int upDown, int inOut, int moveSpeed, int zoomSpeed){ | 
 |  |  |    public ResponseEntity<String> ptz(@PathVariable String deviceId,@PathVariable String channelId,int cmdCode, int horizonSpeed, int verticalSpeed, int zoomSpeed){ | 
 |  |  |        | 
 |  |  |       if (logger.isDebugEnabled()) { | 
 |  |  |          logger.debug(String.format("设备云台控制 API调用,deviceId:%s ,channelId:%s ,leftRight:%d ,upDown:%d ,inOut:%d ,moveSpeed:%d ,zoomSpeed:%d",deviceId, channelId, leftRight, upDown, inOut, moveSpeed, zoomSpeed)); | 
 |  |  |          logger.debug(String.format("设备云台控制 API调用,deviceId:%s ,channelId:%s ,cmdCode:%d ,horizonSpeed:%d ,verticalSpeed:%d ,zoomSpeed:%d",deviceId, channelId, cmdCode, horizonSpeed, verticalSpeed, zoomSpeed)); | 
 |  |  |       } | 
 |  |  |       Device device = storager.queryVideoDevice(deviceId); | 
 |  |  |        | 
 |  |  |       cmder.ptzCmd(device, channelId, leftRight, upDown, inOut, moveSpeed, zoomSpeed); | 
 |  |  |       cmder.frontEndCmd(device, channelId, cmdCode, horizonSpeed, verticalSpeed, zoomSpeed); | 
 |  |  |       return new ResponseEntity<String>("success",HttpStatus.OK); | 
 |  |  |    } | 
 |  |  |    // public ResponseEntity<String> ptz(@PathVariable String deviceId,@PathVariable String channelId,int leftRight, int upDown, int inOut, int moveSpeed, int zoomSpeed){ | 
 |  |  | 		 | 
 |  |  |    //    if (logger.isDebugEnabled()) { | 
 |  |  |    //       logger.debug(String.format("设备云台控制 API调用,deviceId:%s ,channelId:%s ,leftRight:%d ,upDown:%d ,inOut:%d ,moveSpeed:%d ,zoomSpeed:%d",deviceId, channelId, leftRight, upDown, inOut, moveSpeed, zoomSpeed)); | 
 |  |  |    //    } | 
 |  |  |    //    Device device = storager.queryVideoDevice(deviceId); | 
 |  |  | 		 | 
 |  |  |    //    cmder.ptzCmd(device, channelId, leftRight, upDown, inOut, moveSpeed, zoomSpeed); | 
 |  |  |    //    return new ResponseEntity<String>("success",HttpStatus.OK); | 
 |  |  |    // } | 
 |  |  |    @PostMapping("/frontEndCommand/{deviceId}/{channelId}") | 
 |  |  |    public ResponseEntity<String> frontEndCommand(@PathVariable String deviceId,@PathVariable String channelId,int cmdCode, int parameter1, int parameter2, int combindCode2){ | 
 |  |  | 		 | 
 |  |  |       if (logger.isDebugEnabled()) { | 
 |  |  |          logger.debug(String.format("设备云台控制 API调用,deviceId:%s ,channelId:%s ,cmdCode:%d parameter1:%d parameter2:%d",deviceId, channelId, cmdCode, parameter1, parameter2)); | 
 |  |  |       } | 
 |  |  |       Device device = storager.queryVideoDevice(deviceId); | 
 |  |  | 		 | 
 |  |  |       cmder.frontEndCmd(device, channelId, cmdCode, parameter1, parameter2, combindCode2); | 
 |  |  |       return new ResponseEntity<String>("success",HttpStatus.OK); | 
 |  |  |    } | 
 |  |  | } |