From 4d44ed185203088052b10a8d1e3526fcbbc88331 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期日, 15 九月 2019 18:42:31 +0800
Subject: [PATCH] obd 数据解码逻辑完成

---
 src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 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..4abd7af 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,10 @@
 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.EngineDataFlow
+import com.flightfeather.obd.socket.bean.ObdPackageData
+import com.flightfeather.obd.socket.bean.SupplementDataFlow
+import com.flightfeather.obd.socket.eunm.ObdCommandUnit
 import com.github.pagehelper.PageHelper
 import org.springframework.beans.BeanUtils
 import org.springframework.stereotype.Repository
@@ -43,4 +47,77 @@
 
         return resultList
     }
+
+    override fun saveObdData(packageData: ObdPackageData): Boolean {
+        val obdData = ObdData().apply {
+            obdVin = packageData.vinCode
+        }
+        when (packageData.commandUnit) {
+            ObdCommandUnit.CarRegister.value -> {
+
+            }
+            ObdCommandUnit.RealTimeData.value,
+            ObdCommandUnit.ReplacementData.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is com.flightfeather.obd.socket.bean.ObdData -> {
+                            obdData.apply {
+                                obdTime = it.time
+                                obdProtocol = it.obdProtocol
+                                obdMil = it.obdMil
+                                obdIdCode = it.obdSoftwareCode
+                                obdVerificationCode = it.obdCvn
+                                obdFaultCodeNum = it.obdFaultCodeNum
+                                obdFaultCode = it.obdFaultCode
+                            }
+                        }
+                        is EngineDataFlow -> {
+                            obdData.apply {
+                                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.obdScrUpstreamNo
+                                obdScrDownstreamNo = it.obdScrDownstreamNo
+                                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 SupplementDataFlow -> {
+                            obdData.apply {
+                                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 -> {
+
+            }
+            ObdCommandUnit.TimeCalibration.value -> {
+
+            }
+        }
+
+        return obdDataMapper.insert(obdData) == 1
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3