package com.dji.sample.control.controller;
|
|
import com.dji.sample.control.model.enums.DroneAuthorityEnum;
|
import com.dji.sample.control.model.enums.RemoteDebugMethodEnum;
|
import com.dji.sample.control.model.param.*;
|
import com.dji.sample.control.service.IControlService;
|
import com.dji.sdk.common.HttpResultResponse;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.Valid;
|
|
/**
|
* @author sean
|
* @version 1.2
|
* @date 2022/7/29
|
*/
|
@RestController
|
@Slf4j
|
@RequestMapping("${url.control.prefix}${url.control.version}/devices")
|
public class DockController {
|
|
@Autowired
|
private IControlService controlService;
|
|
@PostMapping("/{sn}/jobs/{service_identifier}")//jjjjjjjjjjjj
|
public HttpResultResponse createControlJob(@PathVariable String sn,
|
@PathVariable("service_identifier") String serviceIdentifier,
|
@Valid @RequestBody(required = false) RemoteDebugParam param) {
|
return controlService.controlDockDebug(sn, RemoteDebugMethodEnum.find(serviceIdentifier), param);
|
}
|
|
@PostMapping("/jobs/fly-to-point")
|
public HttpResultResponse flyToPoint(@RequestParam(value = "device_sn") String sn, @Valid @RequestBody FlyToPointParam param) {
|
return controlService.flyToPoint(sn, param);
|
}
|
|
@DeleteMapping("/jobs/fly-to-point")
|
public HttpResultResponse flyToPointStop(@RequestParam(value = "device_sn") String sn) {
|
return controlService.flyToPointStop(sn);
|
}
|
|
@PostMapping("/jobs/takeoff-to-point")
|
public HttpResultResponse takeoffToPoint(@RequestParam(value = "device_sn") String sn, @Valid @RequestBody TakeoffToPointParam param) {
|
return controlService.takeoffToPoint(sn, param);
|
}
|
|
@PostMapping("/authority/flight")
|
public HttpResultResponse seizeFlightAuthority(@RequestParam(value = "device_sn") String sn) {
|
return controlService.seizeAuthority(sn, DroneAuthorityEnum.FLIGHT, null);
|
}
|
|
@PostMapping("/authority/payload")
|
public HttpResultResponse seizePayloadAuthority(@RequestParam(value = "device_sn") String sn, @Valid @RequestBody DronePayloadParam param) {
|
return controlService.seizeAuthority(sn, DroneAuthorityEnum.PAYLOAD, param);
|
}
|
|
@PostMapping("/{sn}/payload/commands")
|
public HttpResultResponse payloadCommands(@PathVariable String sn, @Valid @RequestBody PayloadCommandsParam param) throws Exception {
|
param.setSn(sn);
|
return controlService.payloadCommands(param);
|
}
|
/**
|
* cameraFrameZoom.
|
* @param sn
|
* @return
|
*/
|
// @PostMapping("/camera-frame/zoom")
|
// public HttpResultResponse cameraFrameZoom(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraFrameZoomParam param) {
|
// return controlService.cameraFrameZoom(sn,param);
|
// }
|
|
/**
|
* cameraModeSwitch.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-mode/switch")
|
public HttpResultResponse cameraModeSwitch(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraModeSwitchParam param) {
|
return controlService.cameraModeSwitch(sn,param);
|
}
|
|
/**
|
* cameraPhotoTake.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-photo/take")
|
public HttpResultResponse cameraPhotoTake(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraPhotoTakeParam param) {
|
return controlService.cameraPhotoTake(sn,param);
|
}
|
|
/**
|
* cameraPhotoStop.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-photo/stop")
|
public HttpResultResponse cameraPhotoStop(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraPhotoStopParam param) {
|
return controlService.cameraPhotoStop(sn,param);
|
}
|
|
/**
|
* cameraRecordingStart.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-recording/start")
|
public HttpResultResponse cameraRecordingStart(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraRecordingStartParam param) {
|
return controlService.cameraRecordingStart(sn,param);
|
}
|
|
/**
|
* cameraRecordingStop.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-recording/stop")
|
public HttpResultResponse cameraRecordingStop(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraRecordingStopParam param) {
|
return controlService.cameraRecordingStop(sn,param);
|
}
|
|
/**
|
* cameraScreenDrag.
|
* @param sn
|
* @return
|
*/
|
// @PostMapping("/camera-screen/drag")
|
// public HttpResultResponse cameraScreenDrag(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraScreenDragParam param) {
|
// return controlService.cameraScreenDrag(sn,param);
|
// }
|
|
/**
|
* cameraFocalLengthSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-focal-length/set")
|
public HttpResultResponse cameraFocalLengthSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraFocalLengthSetParam param) {
|
return controlService.cameraFocalLengthSet(sn,param);
|
}
|
|
/**
|
* gimbalReset.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/gimbal/reset")
|
public HttpResultResponse gimbalReset(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody GimbalResetParam param) {
|
return controlService.gimbalReset(sn,param);
|
}
|
|
/**
|
* cameraScreenSplit.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-screen/split")
|
public HttpResultResponse cameraScreenSplit(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraScreenSplitParam param) {
|
return controlService.cameraScreenSplit(sn,param);
|
}
|
|
/**
|
* photoStorageSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/photo-storage/set")
|
public HttpResultResponse photoStorageSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody PhotoStorageSetParam param) {
|
return controlService.photoStorageSet(sn,param);
|
}
|
|
/**
|
* videoStorageSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/video-storage/set")
|
public HttpResultResponse videoStorageSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody VideoStorageSetParam param) {
|
return controlService.videoStorageSet(sn,param);
|
}
|
|
/**
|
* cameraExposureModeSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-exposure-mode/set")
|
public HttpResultResponse cameraExposureModeSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraExposureModeSetParam param) {
|
return controlService.cameraExposureModeSet(sn,param);
|
}
|
|
/**
|
* cameraExposureSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-exposure/set")
|
public HttpResultResponse cameraExposureSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraExposureSetParam param) {
|
return controlService.cameraExposureSet(sn,param);
|
}
|
|
/**
|
* cameraFocusModeSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-focus-mode/set")
|
public HttpResultResponse cameraFocusModeSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraFocusModeSetParam param) {
|
return controlService.cameraFocusModeSet(sn,param);
|
}
|
|
/**
|
* cameraFocusValueSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-focus-value/set")
|
public HttpResultResponse cameraFocusValueSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraFocusValueSetParam param) {
|
return controlService.cameraFocusValueSet(sn,param);
|
}
|
|
/**
|
* cameraPointFocusAction.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera-point-focus-action")
|
public HttpResultResponse cameraPointFocusAction(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraPointFocusActionParam param) {
|
return controlService.cameraPointFocusAction(sn,param);
|
}
|
|
/**
|
* irMeteringModeSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/ir-metering-mode/set")
|
public HttpResultResponse irMeteringModeSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody IrMeteringModeSetParam param) {
|
return controlService.irMeteringModeSet(sn,param);
|
}
|
|
/**
|
* irMeteringPointSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/ir-metering-point/set")
|
public HttpResultResponse irMeteringPointSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody IrMeteringPointSetParam param) {
|
return controlService.irMeteringPointSet(sn,param);
|
}
|
|
/**
|
* irMeteringAreaSet.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/ir-metering-area/set")
|
public HttpResultResponse irMeteringAreaSet(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody IrMeteringAreaSetParam param) {
|
return controlService.irMeteringAreaSet(sn,param);
|
}
|
|
/**
|
* flyToPointUpdate.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/fly-to-point/update")
|
public HttpResultResponse flyToPointUpdate(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody FlyToPointUpdateParam param) {
|
return controlService.flyToPointUpdate(sn,param);
|
}
|
|
/**
|
* cameraAim.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera/aim")
|
public HttpResultResponse cameraAim(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraAimParam param) {
|
return controlService.cameraAim(sn,param);
|
}
|
|
/**
|
* cameraLookAt.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/camera/look-at")
|
public HttpResultResponse cameraLookAt(@RequestParam(value = "device_sn") String sn,@Valid @RequestBody CameraLookAtParam param) {
|
return controlService.cameraLookAt(sn,param);
|
}
|
|
}
|