From cc2a28ad6b99795d05cd9c923d8f7da27b4509e3 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期三, 04 六月 2025 17:31:41 +0800
Subject: [PATCH] 1. 新增动态污染溯源新的判定逻辑(待完成)

---
 src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt |    1 +
 src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedSummary.kt         |   31 +++++++++++++++++++------------
 src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt   |    2 +-
 3 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt
index d5fbbe0..271388a 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt
@@ -62,7 +62,7 @@
     // 瀹氭椂绾跨储鍒嗘瀽鏃堕棿闂撮殧(鍗曚綅锛氬垎閽�)
     var analysisPeriod = 15
     // 瀹氭椂鍒嗘瀽闂撮殧涓紝绔嬪嵆杩涜绾跨储鍒嗘瀽鐨勬渶灏忕嚎绱㈤噺(鍗曚綅锛氫釜)
-    var analysisCount = 3
+    var analysisCount = 2
 
 
 
diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedSummary.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedSummary.kt
index 6ec9d46..c2c651f 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedSummary.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedSummary.kt
@@ -53,16 +53,7 @@
     private var analysisTimer: Timer? = null
 
     // 瀹氭椂姹℃煋鍒嗘瀽浠诲姟
-    private val analysisOnTimeTask = object : TimerTask() {
-        override fun run() {
-            // 璁板綍浠诲姟杩愯鐘舵��
-            analysisTaskIsRunning = true
-            analysis()
-            // 璁板綍涓婁竴娆$殑浠诲姟缁撴潫鏃堕棿
-            lastAnalysisTime = LocalDateTime.now()
-            analysisTaskIsRunning = false
-        }
-    }
+    private var lastAnalysisOnTimeTask:TimerTask? = null
 
     // 瀹氭椂姹℃煋鍒嗘瀽浠诲姟杩愯鐘舵��
     private var analysisTaskIsRunning = false
@@ -104,10 +95,12 @@
     private fun resetAnalysisOnTime() {
         // 鍙栨秷鍘熸湁鐨勫垎鏋愪换鍔¤鏃�
         analysisTimer?.cancel()
+        lastAnalysisOnTimeTask?.cancel()
         // 浠ュ綋鍓嶆椂闂翠负璧风偣锛岄噸鏂板紑濮嬫柊鐨勪竴杞瓑寰呰鏃�
         analysisTimer = Timer()
         val period = config.analysisPeriod * 60 * 1000L
-        analysisTimer?.schedule(analysisOnTimeTask, period, period)
+        lastAnalysisOnTimeTask = newAnalysisTask()
+        analysisTimer?.schedule(lastAnalysisOnTimeTask, period, period)
     }
 
     /**
@@ -116,7 +109,7 @@
      */
     private fun analysisOnClueCount() {
         if (clueList.size >= config.analysisCount && !analysisTaskIsRunning) {
-            analysisOnTimeTask.run()
+            newAnalysisTask().run()
             resetAnalysisOnTime()
         }
     }
@@ -172,4 +165,18 @@
 //        TODO()
     }
 
+    // 瀹氭椂姹℃煋鍒嗘瀽浠诲姟
+    private fun newAnalysisTask(): TimerTask {
+        return object : TimerTask() {
+            override fun run() {
+                // 璁板綍浠诲姟杩愯鐘舵��
+                analysisTaskIsRunning = true
+                analysis()
+                // 璁板綍涓婁竴娆$殑浠诲姟缁撴潫鏃堕棿
+                lastAnalysisTime = LocalDateTime.now()
+                analysisTaskIsRunning = false
+            }
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt b/src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt
index 23e7b70..12cbe75 100644
--- a/src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt
+++ b/src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt
@@ -50,6 +50,7 @@
                 } catch (e: Exception) {
 //                    ctx?.channel()?.writeAndFlush(TextWebSocketFrame("褰撳墠涓烘祴璇曠姸鎬侊紝浼犺緭鐨勬暟鎹笉鏄蛋鑸暟鎹牸寮�"))
                     println("褰撳墠涓烘祴璇曠姸鎬侊紝浼犺緭鐨勬暟鎹笉鏄蛋鑸暟鎹牸寮�")
+                    e.printStackTrace()
                 }
             }
         }

--
Gitblit v1.9.3