From bde043c8fd1a076f44c402dd56c62d401afbfb16 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 27 三月 2025 17:29:48 +0800
Subject: [PATCH] 1. 新增卫星遥测网格热力图计算逻辑

---
 src/test/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteDataCalculateServiceImplTest.kt |   97 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 95 insertions(+), 2 deletions(-)

diff --git a/src/test/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteDataCalculateServiceImplTest.kt b/src/test/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteDataCalculateServiceImplTest.kt
index c01f0d5..3e11665 100644
--- a/src/test/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteDataCalculateServiceImplTest.kt
+++ b/src/test/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteDataCalculateServiceImplTest.kt
@@ -1,11 +1,19 @@
 package com.flightfeather.uav.lightshare.service.impl
 
+import com.flightfeather.uav.common.utils.TimeUtil
+import com.flightfeather.uav.domain.entity.GridData
+import com.flightfeather.uav.domain.entity.GridDataDetail
+import com.flightfeather.uav.domain.mapper.GridDataDetailMapper
+import com.flightfeather.uav.domain.mapper.GridDataMapper
+import com.flightfeather.uav.domain.mapper.MissionMapper
+import com.flightfeather.uav.lightshare.eunm.SatelliteDataType
 import com.flightfeather.uav.lightshare.service.SatelliteDataCalculateService
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.context.SpringBootTest
 import org.springframework.test.context.junit4.SpringRunner
+import tk.mybatis.mapper.entity.Example
 
 
 @RunWith(SpringRunner::class)
@@ -15,6 +23,33 @@
     @Autowired
     lateinit var satelliteDataCalculateService: SatelliteDataCalculateService
 
+    @Autowired
+    lateinit var gridDataMapper: GridDataMapper
+
+    @Autowired
+    lateinit var gridDataDetailMapper: GridDataDetailMapper
+
+    @Autowired
+    lateinit var missionMapper: MissionMapper
+
+    /**
+     * 鍒锋柊姣忕粍鏁版嵁鐨勬暟鎹帓鍚�
+     */
+    @Test
+    fun refreshDataRank() {
+        for (i in 64..69) {
+            val dataDetailList = gridDataDetailMapper.selectByExample(Example(GridDataDetail::class.java).apply {
+                createCriteria().andEqualTo("dataId", i)
+                orderBy("pm25").desc()
+            })
+            dataDetailList.forEachIndexed { index, d ->
+                d?.rank = index + 1
+                gridDataDetailMapper.updateByPrimaryKey(d)
+            }
+            println("finish --${i}")
+        }
+    }
+
     @Test
     fun splitGrid() {
         val res = satelliteDataCalculateService.splitGrid(1, 4)
@@ -23,7 +58,65 @@
 
     @Test
     fun splitData() {
-        val res = satelliteDataCalculateService.splitData(4, 25)
-//        println(res)
+        val groupIdList = listOf(2, 4)
+        val dataId = listOf(34, 29, 25, 18, 8)
+
+        groupIdList.forEach { g ->
+            dataId.forEach { d ->
+                satelliteDataCalculateService.splitData(g, d)
+            }
+        }
+//        val res = satelliteDataCalculateService.splitData(2, 25)
+    }
+
+    @Test
+    fun dataFusion() {
+        val missionList =
+            listOf(
+//                "SH-CN-20241216",
+//                "SH-CN-20241202",
+//                "SH-CN-20241127",
+//                "SH-CN-20241126-1",
+//                "SH-CN-20241126-2",
+//                "SH-CN-20241108",
+//                "SH-CN-20240823"
+                "SH-CN-20240723-01",
+                "SH-CN-20240723-02",
+                "SH-CN-20240830",
+                "SH-CN-20240906",
+                "SH-CN-20241204",
+                "SH-CN-20241210",
+                "SH-CN-20241213",
+                "SH-CN-20241218",
+                "SH-CN-20241220",
+                "SH-CN-20241224",
+                "SH-CN-20241226",
+                "SH-CN-20241227",
+                "SH-CN-20241231",
+                "SH-CN-20250106",
+                "SH-CN-20250108",
+                "SH-CN-20250113",
+                "SH-CN-20250116",
+                "SH-CN-20250120"
+            )
+        missionList.forEach { m ->
+            satelliteDataCalculateService.dataFusion(m, 3)
+        }
+//        val res = satelliteDataCalculateService.dataFusion("SH-CN-20241216", 3)
+    }
+
+    @Test
+    fun refreshDayTimePeriod() {
+        gridDataMapper.select(GridData().apply { type = SatelliteDataType.Monitor.value.toByte() }).forEach { gd ->
+            missionMapper.selectByPrimaryKey(gd?.missionCode)?.let { m ->
+                TimeUtil.getDayTimeTag(m.startTime, m.endTime)?.let { p ->
+                    gd?.dayTimePeriod = p.first
+                    gd?.dayTimePeriodStart = p.second
+                    gd?.dayTimePeriodEnd = p.third
+
+                    gridDataMapper.updateByPrimaryKey(gd)
+                }
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3