Riku
2024-07-07 00ec64bdf38a52b979f709de2e82e9994ed17749
src/main/kotlin/com/flightfeather/uav/domain/repository/SegmentInfoRep.kt
@@ -3,6 +3,8 @@
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
/**
 * 轨迹分隔数据库操作
@@ -19,4 +21,24 @@
    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")
        }))
    }
}