From 9c797fa0d704ef8ffb65cd1716b8eb694b4c46c3 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期五, 04 七月 2025 17:28:00 +0800 Subject: [PATCH] 2025.7.4 1. 新增动态污染溯源新的判定逻辑 --- src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt | 30 ++++++++++++++++++++++++------ 1 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt b/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt index f06f127..12e53d0 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt @@ -1,21 +1,39 @@ package com.flightfeather.uav.socket.decoder -import com.flightfeather.uav.socket.bean.AirPackageData -import com.flightfeather.uav.socket.decoder.impl.DataPackageDecoderImpl +import com.flightfeather.uav.socket.bean.AirDataPackage /** * 绌烘皵璐ㄩ噺澶氬弬鏁版暟鎹В鐮佸櫒 * @author riku * Date: 2019/9/12 */ -class AirDataDecoder { +class AirDataDecoder private constructor(){ - private val dataPackageDecoder: DataPackageDecoder = DataPackageDecoderImpl() + companion object{ - fun decode(msg: String): AirPackageData { + @Volatile + private var decoder: AirDataDecoder? = null + + @JvmStatic + val instance: AirDataDecoder + get() { + if (decoder == null) { + synchronized(AirDataDecoder::class) { + if (decoder == null) { + decoder = AirDataDecoder() + } + } + } + return this.decoder!! + } + } + + private val dataPackageDecoder: DataPackageDecoder = DataPackageDecoder() + + fun decode(msg: String): AirDataPackage { val list = dataPackageDecoder.toStringList(msg) dataPackageDecoder.run { - return AirPackageData( + return AirDataPackage( getHead(list), getCommandUnit(list), getDeviceCode(list), -- Gitblit v1.9.3