From 7a3654aaebf1d75303a90f3dc574881b0199779c Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 01 三月 2021 14:27:04 +0800
Subject: [PATCH] 1. 更新数据查询接口
---
src/main/kotlin/com/flightfeather/uav/repository/impl/AirDataRepositoryImpl.kt | 34 ++++++++++++++++++++++++++++------
1 files changed, 28 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..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.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.text.SimpleDateFormat
+import java.util.*
/**
* @author riku
@@ -14,17 +18,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.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