From 1f356649ce536b19b903d6f3a533983d4b8222bc Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 25 十月 2019 18:16:39 +0800
Subject: [PATCH] 新增接口: 1. 获取所有设备的最新一条数据 新增数据库表: 1. 车辆信息表
---
src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 104 insertions(+), 3 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 5d3885c..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
@@ -17,10 +19,10 @@
@Repository
class ObdDataDaoImpl(val obdDataMapper: ObdDataMapper) : ObdDataRepository {
- override fun saveObdData(data: ObdDataVo) {
+ override fun saveObdData(data: ObdDataVo): Boolean {
val obdData = ObdData()
BeanUtils.copyProperties(data, obdData)
- obdDataMapper.insert(obdData)
+ return obdDataMapper.insert(obdData) == 1
}
override fun getDataByVinCode(vinCode: String, pageNum: Int?, pageSize: Int?): MutableList<ObdDataVo> {
@@ -31,7 +33,7 @@
//鍒嗛〉
val offset = (pageSize?.times(pageNum?.minus(1) ?: 0)) ?: 0
- val a = PageHelper.offsetPage<ObdData>(offset, pageSize ?: 10)
+ PageHelper.offsetPage<ObdData>(offset, pageSize ?: 10)
val result = obdDataMapper.selectByExample(example)
val resultList = mutableListOf<ObdDataVo>()
@@ -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