| | |
| | | package com.flightfeather.uav.domain.repository |
| | | |
| | | import com.flightfeather.uav.domain.entity.GridCell |
| | | import com.flightfeather.uav.domain.entity.GridData |
| | | import com.flightfeather.uav.domain.entity.GridDataDetail |
| | | import com.flightfeather.uav.domain.entity.GridGroup |
| | | import com.flightfeather.uav.domain.entity.* |
| | | import com.flightfeather.uav.domain.mapper.GridAodDetailMapper |
| | | import com.flightfeather.uav.domain.mapper.GridAodMapper |
| | | import com.flightfeather.uav.domain.mapper.GridCellMapper |
| | | import com.flightfeather.uav.domain.mapper.GridDataDetailMapper |
| | | import com.flightfeather.uav.domain.mapper.GridDataMapper |
| | |
| | | private val gridCellMapper: GridCellMapper, |
| | | private val gridDataMapper: GridDataMapper, |
| | | private val gridDataDetailMapper: GridDataDetailMapper, |
| | | private val gridAodMapper: GridAodMapper, |
| | | private val gridAodDetailMapper: GridAodDetailMapper, |
| | | ) { |
| | | |
| | | fun fetchGridGroup(areaVo: AreaVo): List<GridGroup?> { |
| | |
| | | }) |
| | | } |
| | | |
| | | fun fetchGridData(gridData: GridData): List<GridData?> { |
| | | return gridDataMapper.select(gridData) |
| | | } |
| | | |
| | | fun fetchGridDataDetail(dataId: Int, groupId: Int?, cellId: Int?): List<GridDataDetail?> { |
| | | return gridDataDetailMapper.selectByExample(Example(GridDataDetail::class.java).apply { |
| | | createCriteria().andEqualTo("dataId", dataId) |
| | |
| | | orderBy("cellId") |
| | | }) |
| | | } |
| | | |
| | | fun insertGridDataAndDetail(data: GridData, gridDataDetails: List<GridDataDetail>) { |
| | | gridDataMapper.insert(data) |
| | | gridDataDetails.forEach { |
| | | it.dataId = data.id |
| | | it.groupId = data.groupId |
| | | } |
| | | gridDataDetailMapper.insertList(gridDataDetails) |
| | | } |
| | | |
| | | fun updatePM25Batch(gridDataDetails: List<GridDataDetail>) { |
| | | gridDataDetailMapper.updatePM25Batch(gridDataDetails) |
| | | } |
| | | |
| | | |
| | | // aod 相关操作 |
| | | fun fetchGridAod(groupId: Int, dataTime: LocalDateTime?): List<GridAod?> { |
| | | return gridAodMapper.selectByExample(Example(GridAod::class.java).apply { |
| | | createCriteria().andEqualTo("groupId", groupId) |
| | | .andEqualTo("dataTime", dataTime) |
| | | }) |
| | | } |
| | | |
| | | fun fetchGridAodDetail(aodId: Int, groupId: Int?, cellId: Int?): List<GridAodDetail?> { |
| | | return gridAodDetailMapper.selectByExample(Example(GridAodDetail::class.java).apply { |
| | | createCriteria().andEqualTo("aodId", aodId) |
| | | .andEqualTo("groupId", groupId) |
| | | .andEqualTo("cellId", cellId) |
| | | orderBy("cellId") |
| | | }) |
| | | } |
| | | |
| | | fun insertGridAodAndDetail(aod: GridAod, gridAodDetails: List<GridAodDetail>) { |
| | | gridAodMapper.insert(aod) |
| | | gridAodDetails.forEach { |
| | | it.aodId = aod.id |
| | | it.groupId = aod.groupId |
| | | } |
| | | gridAodDetailMapper.insertList(gridAodDetails) |
| | | } |
| | | |
| | | fun updateGridAodBatch(gridDataDetails: List<GridAodDetail>) { |
| | | gridDataDetails.forEach { |
| | | gridAodDetailMapper.updateByExample(it, Example(GridAodDetail::class.java).apply { |
| | | createCriteria().andEqualTo("aodId", it.aodId) |
| | | .andEqualTo("groupId", it.groupId) |
| | | .andEqualTo("cellId", it.cellId) |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | } |