From 81bd0388494d45463de42cd91bd8c33f10f0030a Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期四, 17 六月 2021 10:27:21 +0800 Subject: [PATCH] 1. 新增用电量数据的接收协议 2. 调整socket接收模块的代码结构 --- src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt | 39 +++++++++++++++------------------------ 1 files changed, 15 insertions(+), 24 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt b/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt similarity index 73% rename from src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt rename to src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt index 4f153e3..33a5861 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt @@ -1,10 +1,9 @@ -package com.flightfeather.uav.socket +package com.flightfeather.uav.socket.processor -import com.flightfeather.uav.common.utils.FileUtil -import com.flightfeather.uav.repository.* -import com.flightfeather.uav.socket.bean.* +import com.flightfeather.uav.repository.AirDataRepository +import com.flightfeather.uav.socket.bean.AirDataPackage import com.flightfeather.uav.socket.decoder.AirDataDecoder -import com.flightfeather.uav.socket.decoder.impl.DataPackageDecoderImpl +import com.flightfeather.uav.socket.decoder.DataPackageDecoder import com.flightfeather.uav.socket.eunm.AirCommandUnit import io.netty.channel.ChannelHandlerContext import org.springframework.beans.factory.annotation.Autowired @@ -20,10 +19,10 @@ */ @Component -class MessageManager{ +class UnderwayProcessor : BaseProcessor() { - companion object{ - private lateinit var instance: MessageManager + companion object { + private lateinit var instance: UnderwayProcessor private const val TAG = "UAV" } @@ -32,35 +31,27 @@ lateinit var airDataRepository: AirDataRepository val airDataDecoder = AirDataDecoder.instance - val dataPackageDecoder = DataPackageDecoderImpl() + val dataPackageDecoder = DataPackageDecoder() @PostConstruct fun init() { instance = this - airDataRepository = this.airDataRepository } - fun dealStringMsg(msg: String, ctx: ChannelHandlerContext?) { + override var tag: String = "璧拌埅鐩戞祴" + + override fun dealStringMsg(msg: String, ctx: ChannelHandlerContext?) { //瑙e寘 val packageData = airDataDecoder.decode(msg) - if (bccCheck(msg)) { //淇濆瓨 - DeviceSession.saveDevice(packageData.deviceCode, ctx) + deviceSession.saveDevice(packageData.deviceCode, ctx) saveToTxt(msg) saveToDataBase(packageData) } else { println("------${TAG}鏁版嵁BCC鏍¢獙澶辫触锛岃垗寮� [${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}]") } - } - - /** - * 淇濆瓨鑷硉xt鏂囨湰 - */ - fun saveToTxt(msg: String) { - val data = "[${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}]data=> $msg" - FileUtil.instance?.saveObdData(data) } /** @@ -75,7 +66,7 @@ /** * BCC锛堝紓鎴栨牎楠岋級 */ - fun bccCheck(msg: String):Boolean { + fun bccCheck(msg: String): Boolean { val list = mutableListOf<String>().apply { addAll(dataPackageDecoder.toStringList(msg)) } @@ -97,11 +88,11 @@ } - fun encodeToBytes(msg:String): ByteArray { + fun encodeToBytes(msg: String): ByteArray { val list = msg.split(" ") val bytes = ByteArray(list.size) for (i in 0 until list.size) { - bytes[i]=list[i].toInt(16).toByte() + bytes[i] = list[i].toInt(16).toByte() } return bytes -- Gitblit v1.9.3