From 9d4ca2e7bdfc0d634b0cc27c7fbe23740f4bb398 Mon Sep 17 00:00:00 2001
From: hcong <1050828145@qq.com>
Date: 星期五, 27 十二月 2024 15:43:30 +0800
Subject: [PATCH] 1. 新增aod数据索引,aod详细数据实体类,mapper,service 2. 新增卫星遥测数据网格数据pm2.5、aod数据导入,模板下载 3. FileExchange.kt 新增转换pm2.5和aod数据方法

---
 src/main/kotlin/com/flightfeather/uav/socket/UAVByteDataDecoder.kt |   37 ++++++++++++++++++++-----------------
 1 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/socket/UAVByteDataDecoder.kt b/src/main/kotlin/com/flightfeather/uav/socket/UAVByteDataDecoder.kt
index bb88cb1..9b22dbf 100644
--- a/src/main/kotlin/com/flightfeather/uav/socket/UAVByteDataDecoder.kt
+++ b/src/main/kotlin/com/flightfeather/uav/socket/UAVByteDataDecoder.kt
@@ -1,9 +1,9 @@
 package com.flightfeather.uav.socket
 
+import com.flightfeather.uav.socket.decoder.DataPackageDecoder
 import io.netty.buffer.ByteBuf
 import io.netty.channel.ChannelHandlerContext
 import io.netty.handler.codec.ByteToMessageDecoder
-import java.lang.StringBuilder
 
 /**
  * @author riku
@@ -13,12 +13,13 @@
 class UAVByteDataDecoder : ByteToMessageDecoder() {
 
     companion object {
-        private const val HEAD_BYTES = 2//鏁版嵁澶存墍鍗犻暱搴�
-        private const val LENGTH_BYTES = 1//鏁版嵁浣嶆暟鎵�鍗犻暱搴�
-        private const val BCC_BYTES = 2//鏍¢獙鐮侀暱搴�
-        const val BASE_LENGTH = HEAD_BYTES + LENGTH_BYTES + BCC_BYTES
+        const val BASE_LENGTH = DataPackageDecoder.HEAD_BYTES + DataPackageDecoder.COMMAND_UNIT_BYTES +
+                DataPackageDecoder.DEVICE_CODE_BYTES + DataPackageDecoder.DATA_LENGTH + DataPackageDecoder.BCC_BYTES
         const val HEAD1 = 0x01.toByte()
-        const val HEAD2 = 0x05.toByte()
+        const val COMMAND_1 = 0x04.toByte()
+        const val COMMAND_2 = 0x05.toByte()
+        const val HEAD_LENGTH = DataPackageDecoder.HEAD_BYTES + DataPackageDecoder.COMMAND_UNIT_BYTES +
+                DataPackageDecoder.DEVICE_CODE_BYTES
     }
 
     override fun decode(p0: ChannelHandlerContext?, p1: ByteBuf?, p2: MutableList<Any>?) {
@@ -42,11 +43,13 @@
                     // 鏍囪鍖呭ご寮�濮嬬殑index
                     it.markReaderIndex()
                     // 璇诲埌浜嗗崗璁殑寮�濮嬫爣蹇楋紝缁撴潫while寰幆
-                    val b = ByteArray(2)
+                    val b = ByteArray(HEAD_LENGTH)
                     it.readBytes(b)
-                    if (b[0] == HEAD1 && b[1] == HEAD2) {
-                        dataList.add(b[0])
-                        dataList.add(b[1])
+                    if (b[0] == HEAD1 &&
+                        (b[1] == COMMAND_1 || b[1] == COMMAND_2)) {
+                        b.forEach {b ->
+                            dataList.add(b)
+                        }
                         break
                     }
 
@@ -61,23 +64,23 @@
                     }
                 }
 
-                ByteArray(1).apply {
-                    it.readBytes(this)
-                }.forEach {b ->
-                    dataList.add(b)
-                }
+//                ByteArray(1).apply {
+//                    it.readBytes(this)
+//                }.forEach {b ->
+//                    dataList.add(b)
+//                }
 
                 //鏁版嵁鍗曞厓鐨勯暱搴�
                 val length = getDataUnitLength(it, dataList)
                 // 鍒ゆ柇璇锋眰鏁版嵁鍗曞厓鏁版嵁鍙奫LENGTH_BYTES]涓瓧鑺傜殑鏍¢獙鐮佹槸鍚﹀埌榻�
-                if (it.readableBytes() < length + BCC_BYTES) {
+                if (it.readableBytes() < length + DataPackageDecoder.BCC_BYTES) {
                     // 杩樺師璇绘寚閽�
                     it.readerIndex(beginReader)
                     return
                 }
 
                 //璇诲彇鏁版嵁鍗曞厓鍜屾牎楠岀爜鏁版嵁
-                ByteArray(length + BCC_BYTES).apply {
+                ByteArray(length + DataPackageDecoder.BCC_BYTES).apply {
                     it.readBytes(this)
                 }.forEach {b ->
                     dataList.add(b)

--
Gitblit v1.9.3