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.mapper.GridCellMapper
|
import com.flightfeather.uav.domain.mapper.GridDataDetailMapper
|
import com.flightfeather.uav.domain.mapper.GridDataMapper
|
import com.flightfeather.uav.domain.mapper.GridGroupMapper
|
import com.flightfeather.uav.lightshare.bean.AreaVo
|
import org.springframework.stereotype.Repository
|
import tk.mybatis.mapper.entity.Example
|
import java.time.LocalDateTime
|
|
/**
|
* 卫星网格遥测数据库相关操作
|
* @date 2024/12/11
|
* @author feiyu02
|
*/
|
@Repository
|
class SatelliteGridRep(
|
private val gridGroupMapper: GridGroupMapper,
|
private val gridCellMapper: GridCellMapper,
|
private val gridDataMapper: GridDataMapper,
|
private val gridDataDetailMapper: GridDataDetailMapper,
|
) {
|
|
fun fetchGridGroup(areaVo: AreaVo): List<GridGroup?> {
|
return gridGroupMapper.selectByExample(Example(GridGroup::class.java).apply {
|
createCriteria()
|
.andEqualTo("provinceCode", areaVo.provinceCode).andEqualTo("provinceName", areaVo.provinceName)
|
.andEqualTo("cityCode", areaVo.cityCode).andEqualTo("cityName", areaVo.cityName)
|
.andEqualTo("districtCode", areaVo.districtCode).andEqualTo("districtName", areaVo.districtName)
|
.andEqualTo("townCode", areaVo.townCode).andEqualTo("townName", areaVo.townName)
|
})
|
}
|
|
fun fetchGridCell(groupId: Int): List<GridCell?> {
|
return gridCellMapper.selectByExample(Example(GridCell::class.java).apply {
|
createCriteria().andEqualTo("groupId", groupId)
|
orderBy("id")
|
})
|
}
|
|
fun fetchGridData(groupId: Int, dataTime: LocalDateTime?, type: Int?): List<GridData?> {
|
return gridDataMapper.selectByExample(Example(GridData::class.java).apply {
|
createCriteria().andEqualTo("groupId", groupId)
|
.andEqualTo("dataTime", dataTime)
|
.andEqualTo("type", type)
|
})
|
}
|
|
fun fetchGridDataDetail(dataId: Int, groupId: Int?, cellId: Int?): List<GridDataDetail?> {
|
return gridDataDetailMapper.selectByExample(Example(GridDataDetail::class.java).apply {
|
createCriteria().andEqualTo("dataId", dataId)
|
.andEqualTo("groupId", groupId)
|
.andEqualTo("cellId", cellId)
|
orderBy("cellId")
|
})
|
}
|
}
|