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 | 23 ++++++++++++++++++++++- 1 files changed, 22 insertions(+), 1 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 c507354..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.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 @@ -15,7 +18,6 @@ class AirDataRepositoryImpl(private val realTimeDataMapper: RealTimeDataMapper): AirDataRepository { override fun saveAirData(dataPackage: AirDataPackage): Int { - val data = RealTimeData().apply { deviceCode = dataPackage.deviceCode latitude @@ -25,6 +27,25 @@ 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