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