From 538ba7a3bbc682f4537f1dd34f93feb2cf56b08e Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 14 十月 2025 17:32:04 +0800
Subject: [PATCH] 2025.10.14 1. 新增数据统计颗粒度选项,可选秒级数据、分钟数据进行数据统计 2. 典型隐患区域统计新增按照污染溯源区域进行分类统计的功能

---
 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