package com.flightfeather.obd.repository.impl
|
|
import com.flightfeather.obd.domain.entity.ObdInfo
|
import com.flightfeather.obd.domain.mapper.ObdInfoMapper
|
import com.flightfeather.obd.repository.ObdInfoRepository
|
import com.flightfeather.obd.socket.bean.ObdPackageData
|
import com.flightfeather.obd.socket.eunm.ObdCommandUnit
|
import org.springframework.stereotype.Repository
|
|
/**
|
* @author riku
|
* Date: 2019/9/17
|
*/
|
@Repository
|
class ObdInfoDaoImpl(val obdInfoMapper: ObdInfoMapper) : ObdInfoRepository {
|
|
override fun saveObdInfo(packageData: ObdPackageData): Boolean {
|
|
return if (packageData.commandUnit == ObdCommandUnit.RealTimeData.value
|
|| packageData.commandUnit == ObdCommandUnit.ReplacementData.value) {
|
|
val obdInfo = ObdInfo().apply {
|
obdDeviceCode = packageData.deviceCode
|
obdStatus = packageData.commandUnit == ObdCommandUnit.ReplacementData.value
|
}
|
|
packageData.dataUnit.forEach {
|
when (it) {
|
is com.flightfeather.obd.socket.bean.ObdInfo -> {
|
obdInfo.apply {
|
obdDataTime = it.time
|
obdSerialNum = it.serialNum
|
obdProtocol = it.obdProtocol
|
obdMil = it.obdMil
|
obdDiagnosisSupportStatus = it.diagnosisSupportStatus
|
obdDiagnosisReadyStatus = it.diagnosisReadyStatus
|
obdVin = it.obdVin
|
obdCrn = it.obdCrn
|
obdCvn = it.obdCvn
|
obdIupr = it.iupr
|
obdFaultCodeNum = it.obdFaultCodeNum
|
obdFaultCode = it.obdFaultCode
|
}
|
}
|
}
|
}
|
|
obdInfoMapper.insert(obdInfo) == 1
|
} else {
|
false
|
}
|
|
}
|
|
}
|