From 01ac08186355e85cab4a7c6f4403180184894f23 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期六, 09 十月 2021 14:38:44 +0800 Subject: [PATCH] 1. 新增网格化数据统计功能 --- src/main/kotlin/com/flightfeather/uav/repository/impl/AirDataRepositoryImpl.kt | 24 +++++++++++++++++++++++- 1 files changed, 23 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..34532fc 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,13 @@ 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.text.SimpleDateFormat +import java.util.* /** * @author riku @@ -15,7 +19,6 @@ class AirDataRepositoryImpl(private val realTimeDataMapper: RealTimeDataMapper): AirDataRepository { override fun saveAirData(dataPackage: AirDataPackage): Int { - val data = RealTimeData().apply { deviceCode = dataPackage.deviceCode latitude @@ -25,6 +28,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.statusList?.takeIf {l-> l.isNotEmpty() }?.get(0)?.let {d -> + data.dataTime = SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(d) + } + } + } + } + } + + realTimeDataMapper.insert(data) return 0 -- Gitblit v1.9.3