From 4d065a305b997bfb66f41b33a31d59de63b1958d Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 29 五月 2025 17:43:21 +0800 Subject: [PATCH] 1. 新增动态污染溯源新的判定逻辑(待完成) --- src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt | 54 ++++++++++++++++++++++++++---------------------------- 1 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt b/src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt index ff079ed..8ee5393 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt @@ -11,38 +11,36 @@ */ class DeviceSession { - companion object{ - private val deviceMap = ConcurrentHashMap<String, ChannelHandlerContext?>() - private val typeMap = ConcurrentHashMap<String, List<AirTypeData>>() + companion object { private const val DEFAULT_DEVICE = "default_device" + } + private val deviceMap = ConcurrentHashMap<String?, ChannelHandlerContext?>() + private val typeMap = ConcurrentHashMap<String, List<AirTypeData>>() - fun saveDevice(deviceCode: String?, channel: ChannelHandlerContext?) { - deviceCode?.let { - deviceMap.put(deviceCode, channel) - } + fun saveDevice(deviceCode: String?, channel: ChannelHandlerContext?) { + deviceMap[deviceCode] = channel + } + + fun getDevice(deviceCode: String?): ChannelHandlerContext? { + return if (deviceMap.containsKey(deviceCode)) + deviceMap[deviceCode] + else + null + } + + fun saveAirType(deviceCode: String?, types: List<AirTypeData>) { + if (deviceCode == null) { + typeMap[DEFAULT_DEVICE] = types + } else { + typeMap[deviceCode] = types } + } - fun getDevice(deviceCode: String?): ChannelHandlerContext? { - return if (deviceMap.containsKey(deviceCode)) - deviceMap[deviceCode] - else - null - } - - fun saveAirType(deviceCode: String?, types: List<AirTypeData>) { - if (deviceCode == null) { - typeMap[DEFAULT_DEVICE] = types - } else { - typeMap[deviceCode] = types - } - } - - fun getAirType(deviceCode: String?): List<AirTypeData>? { - return if (typeMap.containsKey(deviceCode)) { - typeMap[deviceCode] - } else { - null - } + fun getAirType(deviceCode: String?): List<AirTypeData>? { + return when { + deviceCode == null -> typeMap[DEFAULT_DEVICE] + typeMap.containsKey(deviceCode) -> typeMap[deviceCode] + else -> null } } } \ No newline at end of file -- Gitblit v1.9.3