From 070005ffba3ce5cb80e27448bca668aa25edee62 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 11 六月 2021 17:02:51 +0800 Subject: [PATCH] 1. 新增走航任务增删改查相关功能 2. 新增无人船数据excel导入功能 3. 优化多参数接收逻辑,解决单个数据头导致数据包结构判断错误问题 --- src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt | 36 ++++++++++++------------------------ 1 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt b/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt index 3301672..4f153e3 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt @@ -6,7 +6,6 @@ import com.flightfeather.uav.socket.decoder.AirDataDecoder import com.flightfeather.uav.socket.decoder.impl.DataPackageDecoderImpl import com.flightfeather.uav.socket.eunm.AirCommandUnit -import io.netty.buffer.Unpooled import io.netty.channel.ChannelHandlerContext import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Component @@ -25,12 +24,14 @@ companion object{ private lateinit var instance: MessageManager + + private const val TAG = "UAV" } @Autowired lateinit var airDataRepository: AirDataRepository - val vehicleDataDecoder = AirDataDecoder() + val airDataDecoder = AirDataDecoder.instance val dataPackageDecoder = DataPackageDecoderImpl() @PostConstruct @@ -41,27 +42,16 @@ fun dealStringMsg(msg: String, ctx: ChannelHandlerContext?) { //瑙e寘 - val packageData = vehicleDataDecoder.decode(msg) + val packageData = airDataDecoder.decode(msg) if (bccCheck(msg)) { - if (packageData.commandUnit == AirCommandUnit.Confirm.value) { - val t = mutableListOf<AirTypeData>() - packageData.dataUnit.forEach { - if (it is AirTypeData) { - t.add(it) - } - } - DeviceSession.saveAirType(packageData.deviceCode, t) - } else if (packageData.commandUnit == AirCommandUnit.AirData.value) { - val types = DeviceSession.getAirType(packageData.deviceCode) - } //淇濆瓨 DeviceSession.saveDevice(packageData.deviceCode, ctx) -// saveToTxt(msg) + saveToTxt(msg) saveToDataBase(packageData) } else { - println("------鏁版嵁BCC鏍¢獙澶辫触锛岃垗寮� [${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}]") + println("------${TAG}鏁版嵁BCC鏍¢獙澶辫触锛岃垗寮� [${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}]") } } @@ -76,9 +66,9 @@ /** * 淇濆瓨鑷虫暟鎹簱 */ - fun saveToDataBase(packageData: AirPackageData) { - when (packageData.commandUnit) { - AirCommandUnit.AirData.value -> instance.airDataRepository.saveAirData(packageData) + fun saveToDataBase(dataPackage: AirDataPackage) { + when (dataPackage.commandUnit) { + AirCommandUnit.AirData.value -> instance.airDataRepository.saveAirData(dataPackage) } } @@ -88,15 +78,13 @@ fun bccCheck(msg: String):Boolean { val list = mutableListOf<String>().apply { addAll(dataPackageDecoder.toStringList(msg)) - //鍘婚櫎2 浣嶈捣濮嬬 - removeAt(0) - removeAt(0) } //鍙栧緱鏁版嵁鍖呬腑鐨刡cc鏍¢獙缁撴灉 - val oldBcc = list[list.size - 1].toInt(16) + val oldBcc = "${list[list.lastIndex - 1]}${list[list.lastIndex]}".toInt(16) //鍘婚櫎鏍¢獙缁撴灉 - list.removeAt(list.size-1) + list.removeAt(list.lastIndex) + list.removeAt(list.lastIndex) //璁$畻bcc鏍¢獙缁撴灉 var newBcc = 0x00 -- Gitblit v1.9.3