| | |
| | | import com.flightfeather.uav.domain.entity.Mission |
| | | import com.flightfeather.uav.domain.mapper.MissionMapper |
| | | import org.springframework.stereotype.Repository |
| | | import tk.mybatis.mapper.entity.Example |
| | | import java.util.* |
| | | |
| | | @Repository |
| | | class MissionRep( |
| | | private val missionMapper: MissionMapper, |
| | | ) { |
| | | |
| | | /** |
| | | * 根据任务编码查询单个走航任务 |
| | | * @param missionCode 任务编码(主键) |
| | | * @return 查询到的任务对象,若不存在则返回null |
| | | */ |
| | | fun findOne(missionCode:String?): Mission? { |
| | | return missionMapper.selectByPrimaryKey(missionCode) |
| | | } |
| | | |
| | | /** |
| | | * 根据任务对象属性条件查询任务列表 |
| | | * @param mission 包含查询条件的任务对象(如设备类型、区域等) |
| | | * @return 符合条件的任务列表 |
| | | */ |
| | | fun findList(mission: Mission): List<Mission?> { |
| | | return missionMapper.select(mission) |
| | | } |
| | | |
| | | /** |
| | | * 根据时间范围查询走航任务列表 |
| | | * @param startTime 查询起始时间(包含) |
| | | * @param endTime 查询结束时间(包含) |
| | | * @return 符合时间条件的走航任务列表 |
| | | */ |
| | | fun findByTimeRange(startTime: Date, endTime: Date): List<Mission?> { |
| | | // 使用tk.mybatis的Example构建查询条件 |
| | | return missionMapper.selectByExample(Example(Mission::class.java).apply { |
| | | // 创建查询条件:startTime字段在指定时间范围内 |
| | | createCriteria().andBetween("startTime", startTime, endTime) |
| | | // 过滤掉没有结束时间的任务(确保任务已完成) |
| | | .andIsNotNull("endTime") |
| | | }) |
| | | } |
| | | } |