riku
2019-09-15 4d44ed185203088052b10a8d1e3526fcbbc88331
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
    }
}