feiyu02
2025-09-01 29383149f7040d89ae00ad48dc48bbcf46587946
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 when {
                deviceCode == null -> typeMap[DEFAULT_DEVICE]
                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
        }
    }
}