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