Java MyBatis Plus 查询教练列表并优化排序
//1.查询条件
QueryWrapper
List
if (!CollectionUtils.isEmpty(coaches)) { //1.获取当前查询时间 Date date = RcqtUtils.getDay();
for (Coach coach : coaches) {
//2.查询当前教练课程
//判断教练的工作状态(true工作中/false休息中)
List<CourseDto> courseDtoList = courseInfoService.queryCourseByCoachId(coach.getCoachId(), date);
boolean isWorking = courseDtoList.stream()
.anyMatch(c -> LocalTime.now().isAfter(c.getStartReservationTime().toLocalTime()) && LocalTime.now().isBefore(c.getEndReservationTime().toLocalTime()));
CoachDto coachDto = new CoachDto();
BeanUtils.copyProperties(coach, coachDto);
coachDto.setWorkStatus(isWorking);
coachDto.setCarCount(queryAllDeviceEntitiesByCoachIdByCount(coach.getCoachId()));//车数量
coachList.add(coachDto);
}
}
// 排序(按照工作状态和姓名排序)
Comparator
coachList.sort(comparator);
List
return map;
原文地址: https://www.cveoy.top/t/topic/qgj2 著作权归作者所有。请勿转载和采集!