From ba8b1496ba9881719e522d0a60a8c86baa7be08b Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Sat, 20 Dec 2025 10:34:23 +0800
Subject: [PATCH] 优化飞行状态

---
 ard-admin/src/main/java/com/ard/web/controller/work/UavBaseController.java |   81 ++++++++++++++++++++++++++++++++++------
 1 files changed, 69 insertions(+), 12 deletions(-)

diff --git a/ard-admin/src/main/java/com/ard/web/controller/work/UavBaseController.java b/ard-admin/src/main/java/com/ard/web/controller/work/UavBaseController.java
index 6a97548..626e421 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/work/UavBaseController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/work/UavBaseController.java
@@ -1,20 +1,34 @@
 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.BoxPhotosReceiver;
 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;
 
 /**
@@ -27,37 +41,70 @@
 @ApiSort(value = 2)
 @RequestMapping("/uav/base")
 @RestController
-public class UavBaseController {
+public class UavBaseController extends BaseController {
 
     @Resource
     private ITyService tyService;
+    @Resource
+    private IArdFlightTaskService ardFlightTaskService;
+    @Resource
+    private IArdFlightTaskPartService ardFlightTaskPartService;
+    @Resource
+    private IArdMediaService ardMediaService;
 
-    @ApiOperation("获取六合token信息")
+    @ApiOperation("获取边缘服务器token信息")
     @ApiOperationSupport(order = 1)
     @GetMapping("/getToken/{serverId}")
     public AjaxResult getToken(@PathVariable("serverId") String serverId) {
         return AjaxResult.success(tyService.getAccessToken(serverId));
     }
 
-    @ApiOperation("获取六合盒子列表")
+    @ApiOperation("获取盒子列表")
     @ApiOperationSupport(order = 2)
     @GetMapping("/getBoxList")
-    public AjaxResult getBoxList() {
-        List<BoxInfoReceiver> BoxList = tyService.getBoxList();
-        return AjaxResult.success(BoxList);
+    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 = 3)
+    @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 = 4)
+    @ApiOperationSupport(order = 5)
     @PostMapping("/getBoxPhotos")
     public AjaxResult getBoxPhotos(@RequestBody BoxPhotosDTO boxPhotosDTO) {
         List<BoxPhotosReceiver> boxPhotos = tyService.getBoxPhotos(boxPhotosDTO);
@@ -65,18 +112,28 @@
     }
 
     @ApiOperation("获取直播地址")
-    @ApiOperationSupport(order = 5)
-    @GetMapping("/getBoxList/{boxSn}")
+    @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);
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3