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.entity.ArdDroneInfo; import com.ard.work.domain.entity.ArdFlightTask; import com.ard.work.domain.entity.ArdMedia; import com.ard.work.domain.receiver.BoxHistoryReceiver; import com.ard.work.domain.receiver.BoxPhotosReceiver; import com.ard.work.domain.receiver.BoxInfoReceiver; import com.ard.work.domain.receiver.BoxStreamUrlReceiver; 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.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; import static com.ard.common.utils.PageUtils.startPage; /** * 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 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 boxHistory = tyService.getBoxHistory(boxHistoryDTO); return AjaxResult.success(boxHistory); } @ApiOperation("获取飞行架次") @ApiOperationSupport(order = 4) @GetMapping("/getFlightTask") public TableDataInfo getFlightTask(ArdFlightTask ardFlightTask) { startPage(); List list = ardFlightTaskService.selectArdFlightTask(ardFlightTask); return getDataTable(list); } @ApiOperation("获取媒体数据") @ApiOperationSupport(order = 4) @GetMapping("/getMediaList") public TableDataInfo getMediaList(ArdMedia ardMedia) { startPage(); List list = ardMediaService.selectArdMediaList(ardMedia); return getDataTable(list); } @ApiOperation("获取任务照片") @ApiOperationSupport(order = 5) @PostMapping("/getBoxPhotos") public AjaxResult getBoxPhotos(@RequestBody BoxPhotosDTO boxPhotosDTO) { List 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 boxList = tyService.getBoxSnToList(id); return getDataTable(boxList); } }