package com.flightfeather.uav.domain.repository
|
|
import com.flightfeather.uav.domain.entity.SegmentInfo
|
import com.flightfeather.uav.domain.mapper.SegmentInfoMapper
|
import org.springframework.stereotype.Repository
|
import tk.mybatis.mapper.entity.Example
|
import java.time.LocalDateTime
|
|
/**
|
* 轨迹分隔数据库操作
|
* @date 2024/7/4
|
* @author feiyu02
|
*/
|
@Repository
|
class SegmentInfoRep(private val segmentInfoMapper: SegmentInfoMapper) {
|
|
fun insert(list: List<SegmentInfo>):Int {
|
return segmentInfoMapper.insertList(list)
|
}
|
|
fun findList(segmentInfo: SegmentInfo): List<SegmentInfo?> {
|
return segmentInfoMapper.select(segmentInfo)
|
}
|
|
/**
|
* 查询时段所涉及的所有路段
|
*
|
*/
|
fun findPeriod(sTime: LocalDateTime?, eTime: LocalDateTime?): List<SegmentInfo?> {
|
return segmentInfoMapper.selectByExample((Example(SegmentInfo::class.java).apply {
|
createCriteria().andLessThanOrEqualTo("startTime", sTime)
|
.andGreaterThanOrEqualTo("endTime", sTime)
|
or(
|
createCriteria().andLessThanOrEqualTo("startTime", eTime)
|
.andGreaterThanOrEqualTo("endTime", eTime)
|
)
|
or(
|
createCriteria().andGreaterThanOrEqualTo("startTime", sTime)
|
.andLessThanOrEqualTo("endTime", eTime)
|
)
|
orderBy("startTime")
|
}))
|
}
|
}
|