package com.ard.web.controller.work;
|
|
import com.ard.common.core.controller.BaseController;
|
import com.ard.common.core.domain.AjaxResult;
|
import com.ard.common.core.page.TableDataInfo;
|
import com.ard.work.domain.dto.BoxHistoryDTO;
|
import com.ard.work.domain.dto.BoxPhotosDTO;
|
import com.ard.work.domain.dto.BoxSettingsDTO;
|
import com.ard.work.domain.dto.UavFlightStateDTO;
|
import com.ard.work.domain.dto.telemetry.TelemetryData;
|
import com.ard.work.domain.entity.ArdFlightTask;
|
import com.ard.work.domain.entity.ArdFlightTaskPart;
|
import com.ard.work.domain.entity.ArdMedia;
|
import com.ard.work.domain.receiver.BoxHistoryReceiver;
|
import com.ard.work.domain.receiver.BoxInfoReceiver;
|
import com.ard.work.domain.receiver.BoxPhotosReceiver;
|
import com.ard.work.domain.receiver.BoxStreamUrlReceiver;
|
import com.ard.work.service.IArdFlightTaskPartService;
|
import com.ard.work.service.IArdFlightTaskService;
|
import com.ard.work.service.IArdMediaService;
|
import com.ard.work.service.ITyService;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import com.github.xiaoymin.knife4j.annotations.ApiSort;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.time.LocalDateTime;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* UavBaseController
|
*
|
* @author liusuyi
|
* @date 2024年10月21日13:52
|
**/
|
@Api(tags = "无人机基础接口")
|
@ApiSort(value = 2)
|
@RequestMapping("/uav/base")
|
@RestController
|
public class UavBaseController extends BaseController {
|
|
@Resource
|
private ITyService tyService;
|
@Resource
|
private IArdFlightTaskService ardFlightTaskService;
|
@Resource
|
private IArdFlightTaskPartService ardFlightTaskPartService;
|
@Resource
|
private IArdMediaService ardMediaService;
|
|
@ApiOperation("获取边缘服务器token信息")
|
@ApiOperationSupport(order = 1)
|
@GetMapping("/getToken/{serverId}")
|
public AjaxResult getToken(@PathVariable("serverId") String serverId) {
|
return AjaxResult.success(tyService.getAccessToken(serverId));
|
}
|
|
@ApiOperation("获取盒子列表")
|
@ApiOperationSupport(order = 2)
|
@GetMapping("/getBoxList")
|
public AjaxResult getBoxList(@RequestParam(required = false) String serverId) {
|
if (serverId == null) {
|
return AjaxResult.success(tyService.getBoxList());
|
} else {
|
return AjaxResult.success(tyService.getBoxList(serverId));
|
}
|
}
|
|
@ApiOperation("获取飞行历史")
|
@ApiOperationSupport(order = 4)
|
@PostMapping("/getBoxHistory")
|
public AjaxResult getBoxHistory(@RequestBody BoxHistoryDTO boxHistoryDTO) {
|
List<BoxHistoryReceiver> boxHistory = tyService.getBoxHistory(boxHistoryDTO);
|
return AjaxResult.success(boxHistory);
|
}
|
@ApiOperation("获取飞行架次")
|
@ApiOperationSupport(order = 4)
|
@GetMapping("/getFlightTask")
|
public TableDataInfo getFlightTask(ArdFlightTask ardFlightTask) {
|
startPage();
|
List<ArdFlightTask> list = ardFlightTaskService.selectArdFlightTask(ardFlightTask);
|
return getDataTable(list);
|
}
|
|
@ApiOperation("获取架次飞行轨迹")
|
@ApiOperationSupport(order = 4)
|
@GetMapping("/getCompleteFlightData")
|
public TableDataInfo getCompleteFlightData(ArdFlightTaskPart ardFlightTaskPart){
|
List<UavFlightStateDTO> completeFlightData = ardFlightTaskPartService.getCompleteFlightData(ardFlightTaskPart);
|
return getDataTable(completeFlightData);
|
}
|
|
@ApiOperation("获取媒体数据")
|
@ApiOperationSupport(order = 4)
|
@GetMapping("/getMediaList")
|
public TableDataInfo getMediaList(ArdMedia ardMedia) {
|
startPage();
|
List<ArdMedia> list = ardMediaService.selectArdMediaList(ardMedia);
|
return getDataTable(list);
|
}
|
|
@ApiOperation("获取任务照片")
|
@ApiOperationSupport(order = 5)
|
@PostMapping("/getBoxPhotos")
|
public AjaxResult getBoxPhotos(@RequestBody BoxPhotosDTO boxPhotosDTO) {
|
List<BoxPhotosReceiver> boxPhotos = tyService.getBoxPhotos(boxPhotosDTO);
|
return AjaxResult.success(boxPhotos);
|
}
|
|
@ApiOperation("获取直播地址")
|
@ApiOperationSupport(order = 6)
|
@GetMapping("/getBoxLiveUrl/{boxSn}")
|
public AjaxResult getBoxLiveUrl(@PathVariable("boxSn") String boxSn) {
|
BoxStreamUrlReceiver boxLiveUrl = tyService.getBoxLiveUrl(boxSn);
|
return AjaxResult.success(boxLiveUrl);
|
}
|
|
@ApiOperation("修改云盒设置")
|
@ApiOperationSupport(order = 7)
|
@PostMapping("/updateBoxSettings")
|
public AjaxResult updateBoxSettings(@RequestBody BoxSettingsDTO boxSettingsDTO) {
|
Boolean state = tyService.updateBoxSettings(boxSettingsDTO);
|
return AjaxResult.success(state);
|
}
|
|
@ApiOperation("根据[服务器id]获取边缘服务器盒子列表")
|
@ApiOperationSupport(order = 8)
|
@GetMapping("/getBoxSnToList/{id}")
|
public TableDataInfo getBoxSnToList(@PathVariable("id") String id) {
|
startPage();
|
List<BoxInfoReceiver> boxList = tyService.getBoxSnToList(id);
|
return getDataTable(boxList);
|
}
|
|
}
|