From 57b3b0851b2144073522a43640c2acc9452e1719 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 30 十月 2019 14:52:34 +0800
Subject: [PATCH] 新增接口: 1. 获取车辆轨迹

---
 src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt |  101 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 101 insertions(+), 0 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt b/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
index 4b49491..54eeee9 100644
--- a/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
+++ b/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
@@ -4,6 +4,8 @@
 import com.flightfeather.obd.domain.mapper.ObdDataMapper
 import com.flightfeather.obd.lightshare.bean.ObdDataVo
 import com.flightfeather.obd.repository.ObdDataRepository
+import com.flightfeather.obd.socket.bean.*
+import com.flightfeather.obd.socket.eunm.ObdCommandUnit
 import com.github.pagehelper.PageHelper
 import org.springframework.beans.BeanUtils
 import org.springframework.stereotype.Repository
@@ -43,4 +45,103 @@
 
         return resultList
     }
+
+    override fun saveObdData(packageData: ObdPackageData): Boolean {
+        val obdData = ObdData().apply {
+            obdVin = packageData.deviceCode
+        }
+        when (packageData.commandUnit) {
+            ObdCommandUnit.CarRegister.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is CarRegisterData -> {
+                            obdData.apply {
+                                obdTime = it.time
+                            }
+                        }
+                    }
+                }
+            }
+            ObdCommandUnit.RealTimeData.value,
+            ObdCommandUnit.ReplacementData.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is com.flightfeather.obd.socket.bean.ObdInfo -> {
+                            obdData.apply {
+                                obdTime = it.time
+                                obdProtocol = it.obdProtocol
+                                obdMil = it.obdMil
+                                obdIdCode = it.obdCrn
+                                obdVerificationCode = it.obdCvn
+                                obdFaultCodeNum = it.obdFaultCodeNum
+                                obdFaultCode = it.obdFaultCode
+                            }
+                        }
+                        is EngineDataStream -> {
+                            obdData.apply {
+                                obdTime = it.time
+                                obdLng = it.obdLong
+                                obdLat = it.obdLat
+                                obdSpeed = it.obdSpeed?.toInt()
+                                obdAirPressure = it.obdAirPressure
+                                obdEngineTorque = it.obdEngineTorque
+                                obdFrictionTorque = it.obdFrictionTorque
+                                obdEngineRpm = it.obdEngineRpm?.toInt()
+                                obdStartFuelFlow = it.obdEngineFuelFlow
+                                obdScrUpstreamNo = it.obdScrUpstreamNox
+                                obdScrDownstreamNo = it.obdScrDownstreamNox
+                                obdRemainReactant = it.obdRemainReactant
+                                obdAirInput = it.obdAirInput
+                                obdScrInputTemp = it.obdScrInputTemp
+                                obdScrOutputTemp = it.obdScrOutputTemp
+                                obdDpf = it.obdDpf
+                                obdEngineCoolantTemp = it.obdEngineCoolantTemp
+                                obdFuelLevel = it.obdFuelLevel
+                                obdLocationStatus = it.obdLocationStatus
+                                obdTotalMileage = it.obdTotalMileage
+                            }
+                        }
+                        is SupplementDataStream -> {
+                            obdData.apply {
+                                obdTime = it.time
+                                obdEngineTorqueMode = it.obdEngineTorqueMode?.toString()
+                                obdAcceleratorPedal = it.obdAcceleratorPedal
+                                obdTotalOilConsumption = it.obdTotalOilConsumption
+                                obdUreaBoxTemp = it.obdUreaBoxTemp
+                                obdUreaVolume = it.obdUreaVolume?.toInt()
+                                obdTotalUreaConsume = it.obdTotalUreaConsume
+                                obdDpfTemp = it.obdDpfTemp
+//                                obdFirmwareVersion =
+                            }
+                        }
+                    }
+                }
+
+            }
+            ObdCommandUnit.CarLogOut.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is CarLogOutData -> {
+                            obdData.apply {
+                                obdTime = it.time
+                            }
+                        }
+                    }
+                }
+            }
+            ObdCommandUnit.TimeCalibration.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is TimeCalibrationData -> {
+                            obdData.apply {
+                                obdTime = it.time
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        return obdDataMapper.insert(obdData) == 1
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3