From 1fa0e57df26dcbf9f7c936806b5f4f0744e1d543 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期一, 15 十一月 2021 17:42:01 +0800 Subject: [PATCH] 1. 网格化数据查询添加秒级值和分钟值的选择 --- src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/RealTimeDataServiceImpl.kt | 44 +++++++++++++++++++++++++++----------------- 1 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/RealTimeDataServiceImpl.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/RealTimeDataServiceImpl.kt index ed3f0f2..48aff07 100644 --- a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/RealTimeDataServiceImpl.kt +++ b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/RealTimeDataServiceImpl.kt @@ -6,10 +6,7 @@ import com.flightfeather.uav.common.utils.GsonUtils import com.flightfeather.uav.dataprocess.AverageUtil import com.flightfeather.uav.domain.entity.* -import com.flightfeather.uav.domain.mapper.RealTimeDataGridMapper -import com.flightfeather.uav.domain.mapper.RealTimeDataMapper -import com.flightfeather.uav.domain.mapper.RealTimeDataUavMapper -import com.flightfeather.uav.domain.mapper.RealTimeDataVehicleMapper +import com.flightfeather.uav.domain.mapper.* import com.flightfeather.uav.lightshare.bean.* import com.flightfeather.uav.lightshare.service.RealTimeDataService import com.flightfeather.uav.model.epw.EPWDataPrep @@ -35,14 +32,15 @@ private val airDataRepository: AirDataRepository, private val realTimeDataVehicleMapper: RealTimeDataVehicleMapper, private val realTimeDataUavMapper: RealTimeDataUavMapper, - private val realTimeDataGridMapper: RealTimeDataGridMapper + private val realTimeDataGridMapper: RealTimeDataGridMapper, + private val realTimeDataGridMinMapper: RealTimeDataGridMinMapper ) : RealTimeDataService { private var dateFormatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") private var dateFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm") private val fileExchange = FileExchange() - override fun getSecondData(deviceCode: String?, startTime: String?, endTime: String?, page: Int?, perPage: Int?): BaseResponse<List<DataVo>> { + override fun getSecondData(deviceCode: String?, startTime: String?, endTime: String?, type: Int?, page: Int?, perPage: Int?): BaseResponse<List<DataVo>> { val _perPage = perPage ?: 60 val _page = page ?: 1 val sTime = startTime?.let { dateFormatter.parse(it) } @@ -70,12 +68,24 @@ pages = pageInfo.pages } UWDeviceType.GRID -> { - val pageInfo = PageHelper.startPage<RealTimeDataGrid>(_page, _perPage) - realTimeDataGridMapper.selectByExample(Example(RealTimeDataGrid::class.java).apply { - getSecondDataExample(this, deviceCode, sTime, eTime) - }).forEach { result.add(it.toDataVo()) } - pageNum = pageInfo.pageNum - pages = pageInfo.pages + // 缃戞牸鍖栫洃娴嬬绾у�� + if (type == null || type == 0) { + val pageInfo = PageHelper.startPage<RealTimeDataGrid>(_page, _perPage) + realTimeDataGridMapper.selectByExample(Example(RealTimeDataGrid::class.java).apply { + getSecondDataExample(this, deviceCode, sTime, eTime) + }).forEach { result.add(it.toDataVo()) } + pageNum = pageInfo.pageNum + pages = pageInfo.pages + } + // 缃戞牸鍖栫洃娴嬪垎閽熷�� + else if (type == 1) { + val pageInfo = PageHelper.startPage<RealTimeDataGridMin>(_page, _perPage) + realTimeDataGridMinMapper.selectByExample(Example(RealTimeDataGridMin::class.java).apply { + getSecondDataExample(this, deviceCode, sTime, eTime) + }).forEach { result.add(it.toDataVo()) } + pageNum = pageInfo.pageNum + pages = pageInfo.pages + } } else -> { // 浠庡師濮嬫暟鎹〃涓幏鍙栨暟鎹� @@ -253,7 +263,7 @@ var count = 0 while (total == -1 || page <= total) { - println("------start------") + println("------鏁版嵁棰勫鐞唖tart------") val res = getOriginData("0d0000000001", "2021-07-05 19:47:01", "2021-11-05 00:00:00", page, 50000) res.head?.let { total = it.totalPage @@ -272,20 +282,19 @@ } override fun averageData(): BaseResponse<String> { - val epwDataPrep = EPWDataPrep() var page = 1 var total = -1 var count = 0 val minFormatter = SimpleDateFormat("yyyy-MM-dd HH:mm") - val averageUtil = AverageUtil<RealTimeDataGrid>({d -> + val averageUtil = AverageUtil<RealTimeDataGrid, RealTimeDataGridMin>({d -> minFormatter.format(d.dataTime) },{list -> list.avg() }) while (total == -1 || page <= total) { - println("------start------") + println("------鍧囧�艰绠梥tart------") val p = PageHelper.startPage<RealTimeDataGrid>(page, 50000) val res = realTimeDataGridMapper.selectByExample(Example(RealTimeDataGrid::class.java).apply { @@ -299,7 +308,8 @@ } println("褰撳墠椤垫暟锛�$page") averageUtil.avg(res).forEach { - + realTimeDataGridMinMapper.insert(it) + count++ } page++ -- Gitblit v1.9.3