From db447bb757b51f8d03e62d6ae4f183b4608723ef Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 07 三月 2025 17:10:43 +0800
Subject: [PATCH] 卫星遥测系统相关接口新增及调整

---
 src/main/kotlin/com/flightfeather/uav/lightshare/web/SatelliteTelemetryController.kt |   69 +++++++++++++++++++++++++++++-----
 1 files changed, 58 insertions(+), 11 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/web/SatelliteTelemetryController.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/web/SatelliteTelemetryController.kt
index d0c2811..5e5c4ff 100644
--- a/src/main/kotlin/com/flightfeather/uav/lightshare/web/SatelliteTelemetryController.kt
+++ b/src/main/kotlin/com/flightfeather/uav/lightshare/web/SatelliteTelemetryController.kt
@@ -1,7 +1,8 @@
 package com.flightfeather.uav.lightshare.web
 
-import com.fasterxml.jackson.annotation.JsonFormat
+import com.flightfeather.uav.domain.entity.GridDataDetail
 import com.flightfeather.uav.lightshare.bean.AreaVo
+import com.flightfeather.uav.lightshare.service.SatelliteDataCalculateService
 import com.flightfeather.uav.lightshare.service.SatelliteTelemetryService
 import io.swagger.annotations.Api
 import io.swagger.annotations.ApiOperation
@@ -21,15 +22,19 @@
 @Api(tags = ["鍗槦閬ユ祴API鎺ュ彛"])
 @RestController
 @RequestMapping("air/satellite")
-class SatelliteTelemetryController(private val satelliteTelemetryService: SatelliteTelemetryService) {
+class SatelliteTelemetryController(
+    private val satelliteTelemetryService: SatelliteTelemetryService,
+    private val satelliteDataCalculateService: SatelliteDataCalculateService
+) {
 
     @ApiOperation(value = "鑾峰彇缃戞牸缁勪俊鎭�")
     @PostMapping("/grid/group")
     fun fetchGridGroup(
         @RequestBody areaVo: AreaVo,
+        @RequestParam(required = false) type: String?,
         @RequestParam("page", required = false) page: Int?,
         @RequestParam("per_page", required = false) perPage: Int?
-    ) = resPack { satelliteTelemetryService.fetchGridGroup(areaVo, page, perPage) }
+    ) = resPack { satelliteTelemetryService.fetchGridGroup(areaVo, type, page, perPage) }
 
     @ApiOperation(value = "鑾峰彇缃戞牸缁勫唴鍏蜂綋缃戞牸淇℃伅")
     @GetMapping("/grid/cell")
@@ -54,11 +59,24 @@
         @ApiParam("缃戞牸鍗曞厓鏍糹d") @RequestParam(required = false) cellId: Int?,
     ) = resPack { satelliteTelemetryService.fetchGridDataDetail(dataId, groupId, cellId) }
 
+    @ApiOperation(value = "淇濆瓨鎷熷悎鐢熸垚鐨勫崼鏄熼仴娴婸M2.5缁撴灉鏁版嵁")
+    @PostMapping("/grid/data/create")
+    fun createGridDataAndDataDetail(
+        @ApiParam("缃戞牸缁刬d") @RequestParam groupId: Int,
+        @ApiParam("閬ユ祴鏁版嵁鏃堕棿")
+        @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") dateTime: LocalDateTime,
+        @RequestBody gridDataDetail: List<GridDataDetail>
+    ) = resPack {
+        satelliteTelemetryService.createGridDataAndDataDetail(groupId, dateTime, gridDataDetail)
+    }
+
+
     @ApiOperation(value = "澶氭璧拌埅鏁版嵁杩涜铻嶅悎璁$畻")
     @PostMapping("/grid/data/mix")
     fun mixGridData(
         @ApiParam("鍘熷鏁版嵁id鏁扮粍") @RequestBody dataIdList: List<Int>
     ) = resPack { satelliteTelemetryService.mixGridData(dataIdList) }
+
 
     @ApiOperation(value = "瀵煎叆鍗槦閬ユ祴PM2.5缁撴灉鏁版嵁")
     @PostMapping("/import/grid/data")
@@ -76,14 +94,6 @@
     @GetMapping("/import/grid/data/download/template")
     fun downloadTemplate(@ApiIgnore response: HttpServletResponse) = satelliteTelemetryService.downloadTemplate(response)
 
-    @ApiOperation(value = "鑾峰彇缃戞牸缁勪笅鐨勫崼鏄熼仴娴媋od鏁版嵁")
-    @GetMapping("/grid/aod")
-    fun fetchGridAod(
-        @ApiParam("缃戞牸缁刬d") @RequestParam groupId: Int,
-        @ApiParam("閬ユ祴鏁版嵁鏃堕棿")
-        @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") dataTime: LocalDateTime?,
-    ) = resPack { satelliteTelemetryService.fetchGridAod(groupId, dataTime) }
-
     @ApiOperation(value = "瀵煎叆鍗槦閬ユ祴Aod缁撴灉鏁版嵁")
     @PostMapping("/import/grid/aod")
     fun importGridAOD(
@@ -99,4 +109,41 @@
     @ApiOperation(value = "涓嬭浇鍗槦閬ユ祴Aod缁撴灉鏁版嵁瀵煎叆妯℃澘")
     @GetMapping("/import/grid/aod/download/template")
     fun downloadAODTemplate(@ApiIgnore response: HttpServletResponse) = satelliteTelemetryService.downloadAODTemplate(response)
+
+
+    /**AOD鏁版嵁鐩稿叧**************************************************************/
+    @ApiOperation(value = "鑾峰彇缃戞牸缁勪笅鐨勫崼鏄熼仴娴媋od鏁版嵁")
+    @GetMapping("/grid/aod")
+    fun fetchGridAod(
+        @ApiParam("缃戞牸缁刬d") @RequestParam groupId: Int,
+        @ApiParam("閬ユ祴鏁版嵁鏃堕棿")
+        @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") dataTime: LocalDateTime?,
+    ) = resPack { satelliteTelemetryService.fetchGridAod(groupId, dataTime) }
+
+//    @ApiOperation(value = "鑾峰彇缃戞牸缁勪笅鐨勫崼鏄熼仴娴婣OD鏁版嵁")
+//    @GetMapping("/aod/data")
+//    fun fetchGridAOD(
+//        @ApiParam("缃戞牸缁刬d") @RequestParam groupId: Int,
+//        @ApiParam("AOD鏁版嵁鏃堕棿")
+//        @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") dataTime: LocalDateTime?,
+//    ) = resPack { satelliteTelemetryService.fetchGridAOD(groupId, dataTime) }
+
+    @ApiOperation(value = "鑾峰彇缃戞牸缁勪笅鐨勫崼鏄熼仴娴婣OD鍏蜂綋鏁版嵁")
+    @GetMapping("/aod/data/detail")
+    fun fetchGridAODDetail(
+        @ApiParam("AOD鏁版嵁id") @RequestParam aodId: Int,
+        @ApiParam("缃戞牸缁刬d") @RequestParam(required = false) groupId: Int?,
+        @ApiParam("缃戞牸鍗曞厓鏍糹d") @RequestParam(required = false) cellId: Int?,
+    ) = resPack { satelliteTelemetryService.fetchGridAODDetail(aodId, groupId, cellId) }
+
+
+    /**閬ユ祴浜у搧鍒朵綔鐩稿叧**************************************************************/
+    @ApiOperation(value = "鐢熸垚璧拌埅铻嶅悎浜у搧")
+    @GetMapping("/product/underway/build")
+    fun buildUnderwayProduct(
+        @ApiParam("璧拌埅浠诲姟缂栧彿") @RequestParam missionCode: String,
+        @ApiParam("缃戞牸缁刬d") @RequestParam groupId: Int,
+    ) = resPack { satelliteDataCalculateService.dataFusion(missionCode, groupId) }
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.3