From 57b3b0851b2144073522a43640c2acc9452e1719 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 30 十月 2019 14:52:34 +0800 Subject: [PATCH] 新增接口: 1. 获取车辆轨迹 --- src/main/kotlin/com/flightfeather/obd/repository/impl/DataStreamDaoImpl.kt | 62 ++++++++++++++++--------------- 1 files changed, 32 insertions(+), 30 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/obd/repository/impl/DataStreamDaoImpl.kt b/src/main/kotlin/com/flightfeather/obd/repository/impl/DataStreamDaoImpl.kt index a72cc1a..dfe8583 100644 --- a/src/main/kotlin/com/flightfeather/obd/repository/impl/DataStreamDaoImpl.kt +++ b/src/main/kotlin/com/flightfeather/obd/repository/impl/DataStreamDaoImpl.kt @@ -2,6 +2,7 @@ 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 @@ -15,13 +16,14 @@ import org.springframework.stereotype.Repository import tk.mybatis.mapper.entity.Example import java.text.SimpleDateFormat +import java.util.* /** * @author riku * 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 { @@ -84,12 +86,20 @@ 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() } @@ -111,16 +121,24 @@ } override fun getDataStreamCount(deviceCode: String, startTime: String?, endTime: String?): Int { - val sf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") + val sf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) 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() } @@ -129,29 +147,13 @@ return dataStreamMapper.selectCountByExample(example) } - override fun getCoordinate(deviceCode: String): LatLngVo { + override fun getLatestDataStream(deviceCode: String): DataStream? { val example = Example(DataStream::class.java).apply { - createCriteria().andEqualTo("obdDeviceCode", deviceCode).run { - orderBy("obdDataTime").desc() - } + createCriteria().andEqualTo("obdDeviceCode", deviceCode) + orderBy("obdDataTime").desc() } - //鑾峰彇鏈�鏂扮殑涓�涓� PageHelper.offsetPage<DataStream>(0, 1) - val result = dataStreamMapper.selectByExample(example) - - val latLngVo = LatLngVo() - if (result.isNotEmpty()) { - result[0].let { - latLngVo.apply { - this.deviceCode = it.obdDeviceCode - obdDataTime = it.obdDataTime - lat = it.obdLat - lng = it.obdLong - } - } - } - - return latLngVo + return dataStreamMapper.selectByExample(example).takeIf { it.isNotEmpty() }?.get(0) } } \ No newline at end of file -- Gitblit v1.9.3