| | |
| | | |
| | | import com.flightfeather.obd.domain.entity.DataStream |
| | | import com.flightfeather.obd.domain.mapper.DataStreamMapper |
| | | import com.flightfeather.obd.domain.mapper.VehicleInfoMapper |
| | | import com.flightfeather.obd.lightshare.bean.DataStreamVo |
| | | import com.flightfeather.obd.lightshare.bean.LatLngVo |
| | | import com.flightfeather.obd.repository.DataStreamRepository |
| | |
| | | * Date: 2019/9/17 |
| | | */ |
| | | @Repository |
| | | class DataStreamDaoImpl(val dataStreamMapper: DataStreamMapper): DataStreamRepository { |
| | | class DataStreamDaoImpl(val dataStreamMapper: DataStreamMapper, val vehicleInfoMapper: VehicleInfoMapper): DataStreamRepository { |
| | | |
| | | override fun saveDataStream(packageData: ObdPackageData): Boolean { |
| | | |
| | |
| | | val example = Example(DataStream::class.java).apply { |
| | | createCriteria().andEqualTo("obdDeviceCode", deviceCode).run { |
| | | startTime?.let { |
| | | val st = sf.parse(startTime) |
| | | andGreaterThanOrEqualTo("obdDataTime", st) |
| | | try { |
| | | val st = sf.parse(startTime) |
| | | andGreaterThanOrEqualTo("obdDataTime", st) |
| | | } catch (e: Throwable) { |
| | | e.printStackTrace() |
| | | } |
| | | } |
| | | endTime?.let { |
| | | val et = sf.parse(endTime) |
| | | andLessThanOrEqualTo("obdDataTime", et) |
| | | try { |
| | | val et = sf.parse(endTime) |
| | | andLessThanOrEqualTo("obdDataTime", et) |
| | | } catch (e: Throwable) { |
| | | e.printStackTrace() |
| | | } |
| | | } |
| | | orderBy("obdDataTime").desc() |
| | | } |
| | |
| | | val example = Example(DataStream::class.java).apply { |
| | | createCriteria().andEqualTo("obdDeviceCode", deviceCode).run { |
| | | startTime?.let { |
| | | val st = sf.parse(startTime) |
| | | andGreaterThanOrEqualTo("obdDataTime", st) |
| | | try { |
| | | val st = sf.parse(startTime) |
| | | andGreaterThanOrEqualTo("obdDataTime", st) |
| | | } catch (e: Throwable) { |
| | | e.printStackTrace() |
| | | } |
| | | } |
| | | endTime?.let { |
| | | val et = sf.parse(endTime) |
| | | andLessThanOrEqualTo("obdDataTime", et) |
| | | try { |
| | | val et = sf.parse(endTime) |
| | | andLessThanOrEqualTo("obdDataTime", et) |
| | | } catch (e: Throwable) { |
| | | e.printStackTrace() |
| | | } |
| | | } |
| | | orderBy("obdDataTime").desc() |
| | | } |
| | |
| | | |
| | | return latLngVo |
| | | } |
| | | |
| | | override fun getLatestDataStream(deviceCode: String): DataStream? { |
| | | val example = Example(DataStream::class.java).apply { |
| | | createCriteria().andEqualTo("obdDeviceCode", deviceCode) |
| | | orderBy("obdDataTime").desc() |
| | | } |
| | | //获取最新的一个 |
| | | PageHelper.offsetPage<DataStream>(0, 1) |
| | | return dataStreamMapper.selectByExample(example).takeIf { it.isNotEmpty() }?.get(0) |
| | | } |
| | | } |