From 4cb662daa3d2760cc4c892e58f73cbf10b265f6f Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 11 十二月 2020 11:55:56 +0800 Subject: [PATCH] 新增经纬度、和时间的解析逻辑 --- src/main/kotlin/com/flightfeather/uav/repository/impl/AirDataRepositoryImpl.kt | 33 +++++++++++++++++++++++++++------ 1 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/repository/impl/AirDataRepositoryImpl.kt b/src/main/kotlin/com/flightfeather/uav/repository/impl/AirDataRepositoryImpl.kt index 055349d..5c548e2 100644 --- a/src/main/kotlin/com/flightfeather/uav/repository/impl/AirDataRepositoryImpl.kt +++ b/src/main/kotlin/com/flightfeather/uav/repository/impl/AirDataRepositoryImpl.kt @@ -3,9 +3,12 @@ import com.flightfeather.uav.domain.entity.RealTimeData import com.flightfeather.uav.domain.mapper.RealTimeDataMapper import com.flightfeather.uav.repository.AirDataRepository -import com.flightfeather.uav.socket.bean.AirPackageData +import com.flightfeather.uav.socket.bean.AirData +import com.flightfeather.uav.socket.bean.AirDataPackage +import com.flightfeather.uav.socket.eunm.FactorType import com.google.gson.Gson import org.springframework.stereotype.Repository +import java.util.* /** * @author riku @@ -14,17 +17,35 @@ @Repository class AirDataRepositoryImpl(private val realTimeDataMapper: RealTimeDataMapper): AirDataRepository { - override fun saveAirData(packageData: AirPackageData): Int { - + override fun saveAirData(dataPackage: AirDataPackage): Int { val data = RealTimeData().apply { - deviceCode = packageData.deviceCode + deviceCode = dataPackage.deviceCode latitude longitude altitude height - factors = Gson().toJson(packageData.dataUnit) - dataTime = packageData.dataTime + factors = Gson().toJson(dataPackage.dataUnit) + dataTime = dataPackage.dataTime } + dataPackage.dataUnit.forEach { + if (it is AirData) { + when (it.factorId?.toInt()) { + FactorType.LAT.value -> { + data.latitude = it.factorData?.toBigDecimal() + } + FactorType.LNG.value -> { + data.longitude = it.factorData?.toBigDecimal() + } + FactorType.TIME.value -> { + it.factorData?.let { f-> Date(f)}?.let {d -> + data.dataTime = d + } + } + } + } + } + + realTimeDataMapper.insert(data) return 0 -- Gitblit v1.9.3