From 275ad59f206d9bc1801b28daeb31b4207f609ce3 Mon Sep 17 00:00:00 2001 From: hcong <1050828145@qq.com> Date: 星期四, 02 一月 2025 09:10:09 +0800 Subject: [PATCH] 1. 修改网格组数据导入接口返回值为bool 2. 修改网格组数据批量更新 使用Transactional注解 --- src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt b/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt index 33a5861..48ac7bb 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt @@ -1,10 +1,12 @@ package com.flightfeather.uav.socket.processor +import com.flightfeather.uav.model.epw.EPWDataPrep 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.DataPackageDecoder import com.flightfeather.uav.socket.eunm.AirCommandUnit +import com.flightfeather.uav.socket.eunm.UWDeviceType import io.netty.channel.ChannelHandlerContext import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Component @@ -30,8 +32,11 @@ @Autowired lateinit var airDataRepository: AirDataRepository - val airDataDecoder = AirDataDecoder.instance - val dataPackageDecoder = DataPackageDecoder() + private val airDataDecoder = AirDataDecoder.instance + private val dataPackageDecoder = DataPackageDecoder() + + // 鏁版嵁棰勫鐞嗗嚱鏁� + private val dataProcessMap = mutableMapOf<String?, EPWDataPrep>() @PostConstruct fun init() { @@ -59,7 +64,19 @@ */ fun saveToDataBase(dataPackage: AirDataPackage) { when (dataPackage.commandUnit) { - AirCommandUnit.AirData.value -> instance.airDataRepository.saveAirData(dataPackage) + AirCommandUnit.AirData.value -> { + // 浠son鏍煎紡瀛樺偍鍘熷鏁版嵁 + instance.airDataRepository.saveAirData(dataPackage) + // 杩涜棰勫鐞嗗悗锛屽瓨鍌ㄨ嚦瀵瑰簲鏁版嵁琛� + if (!dataProcessMap.containsKey(dataPackage.deviceCode)) { + // 姣忓彴璁惧鏈夊崟鐙殑鏁版嵁棰勫鐞嗗璞� + dataProcessMap[dataPackage.deviceCode] = EPWDataPrep(UWDeviceType.getType(dataPackage.deviceCode)) + } + dataProcessMap[dataPackage.deviceCode]?.run { + val list = this.mDataPrep2(dataPackage)// 鏁版嵁骞虫粦澶勭悊 + instance.airDataRepository.savePrepData2(list)// 鎸夌収璁惧绫诲瀷瀛樺偍鑷冲搴旀暟鎹〃 + } + } } } -- Gitblit v1.9.3