package com.dji.sample.wayline.controller; import com.dji.sample.common.model.CustomClaim; import com.dji.sample.live.service.LiveService; import com.dji.sample.wayline.model.param.FlighttaskCreateParam; import com.dji.sample.wayline.model.param.FlighttaskExecuteParam; import com.dji.sample.wayline.model.param.FlighttaskPrepareParam; import com.dji.sample.wayline.model.param.FlighttaskUndoParam; import com.dji.sample.wayline.service.WayLineService; import com.dji.sample.wayline.service.impl.SDKWaylineService; 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.servlet.http.HttpServletRequest; import javax.validation.Valid; import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM; /** * @author wmm * @version 0.1 * @date 2024/5/8 */ @RestController @RequestMapping("/wayLine") @Slf4j public class WaylineController { @Autowired private WayLineService waylineService; /** * flighttaskCreate. * @param sn * @return */ @PostMapping("/flighttask/create") public HttpResultResponse flighttaskCreate(@RequestParam(value = "device_sn") String sn, @Valid @RequestBody FlighttaskCreateParam param) { return waylineService.flighttaskCreate(sn,param); } /** * flighttaskPrepare. * @param sn * @return */ @PostMapping("/flighttask/prepare") public HttpResultResponse flighttaskPrepare(HttpServletRequest request, @RequestParam(value = "device_sn") String sn, @Valid @RequestBody FlighttaskPrepareParam param) { CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM); customClaim.setWorkspaceId(param.getWorkspaceId()); return waylineService.flighttaskPrepare(sn,param,customClaim); } /** * flighttaskExecute. * @param sn * @return */ @PostMapping("/flighttask/execute") public HttpResultResponse flighttaskExecute(@RequestParam(value = "device_sn") String sn, @Valid @RequestBody FlighttaskExecuteParam param) { return waylineService.flighttaskExecute(sn,param); } /** * flighttaskUndo. * @param sn * @return */ @PostMapping("/flighttask/undo") public HttpResultResponse flighttaskUndo(@RequestParam(value = "device_sn") String sn, @Valid @RequestBody FlighttaskUndoParam param) { return waylineService.flighttaskUndo(sn,param); } /** * flighttaskPause. * @param sn * @return */ @PostMapping("/flighttask/pause") public HttpResultResponse flighttaskPause(@RequestParam(value = "device_sn") String sn) { return waylineService.flighttaskPause(sn); } /** * flighttaskRecovery. * @param sn * @return */ @PostMapping("/flighttask/recovery") public HttpResultResponse flighttaskRecovery(@RequestParam(value = "device_sn") String sn) { return waylineService.flighttaskRecovery(sn); } /** * returnHome. * @param sn * @return */ @PostMapping("/return-home") public HttpResultResponse returnHome(@RequestParam(value = "device_sn") String sn) { return waylineService.returnHome(sn); } /** * returnHomeCancel. * @param sn * @return */ @PostMapping("/return-home/cancel") public HttpResultResponse returnHomeCancel(@RequestParam(value = "device_sn") String sn) { return waylineService.returnHomeCancel(sn); } }