From a549d6bbd7cb6f2a0dda1234c1b4df072a9e1d61 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 18 十月 2021 09:34:05 +0800
Subject: [PATCH] 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