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