| | |
| | | package com.dji.sample.control.controller; |
| | | |
| | | import com.dji.sample.common.model.ResponseResult; |
| | | import com.dji.sample.control.model.param.RemoteDebugParam; |
| | | import com.dji.sample.control.model.enums.DroneAuthorityEnum; |
| | | import com.dji.sample.control.model.param.*; |
| | | import com.dji.sample.control.service.IControlService; |
| | | import com.dji.sample.log.aspect.SysLogAnnotation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | |
| | | /** |
| | | * @author sean |
| | |
| | | private IControlService controlService; |
| | | |
| | | @PostMapping("/{sn}/jobs/{service_identifier}") |
| | | @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "控制指令") |
| | | public ResponseResult createControlJob(@PathVariable String sn, |
| | | @PathVariable("service_identifier") String serviceIdentifier, |
| | | @RequestBody(required = false) RemoteDebugParam param) { |
| | | return controlService.controlDock(sn, serviceIdentifier, param); |
| | | return controlService.controlDockDebug(sn, serviceIdentifier, param); |
| | | } |
| | | |
| | | @PostMapping("/{sn}/jobs/fly-to-point") |
| | | @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "起飞") |
| | | public ResponseResult flyToPoint(@PathVariable String sn, @Valid @RequestBody FlyToPointParam param) { |
| | | return controlService.flyToPoint(sn, param); |
| | | } |
| | | |
| | | @DeleteMapping("/{sn}/jobs/fly-to-point") |
| | | @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "停止起飞") |
| | | public ResponseResult flyToPointStop(@PathVariable String sn) { |
| | | return controlService.flyToPointStop(sn); |
| | | } |
| | | |
| | | @PostMapping("/{sn}/jobs/takeoff-to-point") |
| | | @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "一键起飞") |
| | | public ResponseResult takeoffToPoint(@PathVariable String sn, @Valid @RequestBody TakeoffToPointParam param) { |
| | | return controlService.takeoffToPoint(sn, param); |
| | | } |
| | | |
| | | @PostMapping("/{sn}/authority/flight") |
| | | public ResponseResult seizeFlightAuthority(@PathVariable String sn) { |
| | | return controlService.seizeAuthority(sn, DroneAuthorityEnum.FLIGHT, null); |
| | | } |
| | | |
| | | @PostMapping("/{sn}/authority/payload") |
| | | @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "负载控制") |
| | | public ResponseResult seizePayloadAuthority(@PathVariable String sn, @Valid @RequestBody DronePayloadParam param) { |
| | | return controlService.seizeAuthority(sn, DroneAuthorityEnum.PAYLOAD, param); |
| | | } |
| | | |
| | | @PostMapping("/{sn}/payload/commands") |
| | | @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "相机模式开关") |
| | | public ResponseResult payloadCommands(@PathVariable String sn, @Valid @RequestBody PayloadCommandsParam param) throws Exception { |
| | | param.setSn(sn); |
| | | return controlService.payloadCommands(param); |
| | | } |
| | | |
| | | |
| | | } |