From 698f8f0f22af4c66581ce284407e986ca036aec6 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 23 一月 2025 17:10:26 +0800
Subject: [PATCH] 1. 网格细分逻辑(编写中)

---
 src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt
index 97e4c67..982c6ca 100644
--- a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt
+++ b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt
@@ -1,6 +1,7 @@
 package com.flightfeather.uav.lightshare.service.impl
 
 import com.flightfeather.uav.biz.satellite.SatelliteDataMix
+import com.flightfeather.uav.biz.satellite.SatelliteGridManage
 import com.flightfeather.uav.common.exception.BizException
 import com.flightfeather.uav.common.utils.FileExchange
 import com.flightfeather.uav.domain.entity.GridAod
@@ -71,7 +72,7 @@
         // 1. 鏍规嵁鏁版嵁涓婚敭id鏁扮粍锛屾煡璇㈣缁勫悎涓嬫槸鍚﹀凡鏈夋暟鎹瀺鍚堣褰�
         val exist = satelliteGridRep.fetchGridData(GridData().apply {
             type = 1
-            mixDataId = dataIdList.joinToString(",")
+            mixDataId = dataIdList.sorted().joinToString(",")
         })
         // 2. 鑻ヨ瀺鍚堟暟鎹凡瀛樺湪锛岀洿鎺ヨ繑鍥�
         return exist.ifEmpty {
@@ -204,4 +205,33 @@
         }
         return true
     }
+
+    override fun calGridVertex(groupId: Int): List<GridCell?> {
+        val cellList = satelliteGridRep.fetchGridCell(groupId)
+        val vertexList = SatelliteGridManage.calGridVertex(cellList.map {
+            if (it?.longitude == null || it.latitude == null) {
+                throw BizException("鍗槦閬ユ祴缃戞牸璁$畻椤剁偣鍧愭爣鐐瑰け璐ワ紝瀛樺湪涓績鐐瑰潗鏍囦负绌虹殑鎯呭喌")
+            }
+            it.longitude?.toDouble()!! to it.latitude?.toDouble()!!
+        })
+
+        cellList.forEachIndexed { i, c ->
+            val v = vertexList[i]
+            c?.point1Lon = v.point1Lon.toBigDecimal()
+            c?.point1Lat = v.point1Lat.toBigDecimal()
+
+            c?.point2Lon = v.point2Lon.toBigDecimal()
+            c?.point2Lat = v.point2Lat.toBigDecimal()
+
+            c?.point3Lon = v.point3Lon.toBigDecimal()
+            c?.point3Lat = v.point3Lat.toBigDecimal()
+
+            c?.point4Lon = v.point4Lon.toBigDecimal()
+            c?.point4Lat = v.point4Lat.toBigDecimal()
+        }
+
+        satelliteGridRep.updateGridCellBatch(cellList)
+
+        return cellList
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3