From eb3dd00b0b7fcda477229d518d250f9c842b790b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 21 十月 2025 17:45:44 +0800
Subject: [PATCH] 2025.10.21 1. 走航季度报告相关数据计算逻辑调整
---
src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt | 41 +++++++++++++++++++++++++++++------------
1 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt b/src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt
index 1bc9472..8ee5393 100644
--- a/src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt
+++ b/src/main/kotlin/com/flightfeather/uav/socket/DeviceSession.kt
@@ -1,29 +1,46 @@
package com.flightfeather.uav.socket
+import com.flightfeather.uav.socket.bean.AirTypeData
import io.netty.channel.ChannelHandlerContext
import java.util.concurrent.ConcurrentHashMap
/**
- * 鐢ㄤ簬淇濆瓨杩炴帴鐨勮澶囧強瀵瑰簲鐨剆ession閫氶亾
+ * 鐢ㄤ簬淇濆瓨杩炴帴鐨勮澶囧強瀵瑰簲鐨剆ession閫氶亾浠ュ強瀵瑰簲鐨勪笓灞炰俊鎭�
* Date: 2019.8.27
* @author riku
*/
class DeviceSession {
- companion object{
- private val deviceMap = ConcurrentHashMap<String, ChannelHandlerContext?>()
+ 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 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