feiyu02
2025-06-04 cc2a28ad6b99795d05cd9c923d8f7da27b4509e3
1. 新增动态污染溯源新的判定逻辑(待完成)
已修改3个文件
34 ■■■■■ 文件已修改
src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedSummary.kt 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt
@@ -62,7 +62,7 @@
    // 定时线索分析时间间隔(单位:分钟)
    var analysisPeriod = 15
    // 定时分析间隔中,立即进行线索分析的最小线索量(单位:个)
    var analysisCount = 3
    var analysisCount = 2
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
            }
        }
    }
}
src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt
@@ -50,6 +50,7 @@
                } catch (e: Exception) {
//                    ctx?.channel()?.writeAndFlush(TextWebSocketFrame("当前为测试状态,传输的数据不是走航数据格式"))
                    println("当前为测试状态,传输的数据不是走航数据格式")
                    e.printStackTrace()
                }
            }
        }