查询逻辑修改

This commit is contained in:
张松 2025-01-03 21:58:30 +08:00
parent d5553dd438
commit 3841c95b56
1 changed files with 10 additions and 6 deletions

View File

@ -128,18 +128,22 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
List<Course> courseList = courseIdList.isEmpty() ? new ArrayList<>() : courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, courseIdList));
// List<Course> courseList = baseMapper.selectCourseByCollect(userId, classify);
Set<Long> detailIdList = courseList.stream().map(Course::getCourseDetailsId).collect(Collectors.toSet());
Map<Long, String> courseDetailsMap = detailIdList.isEmpty() ? new HashMap<>() : courseDetailsService.list(new LambdaQueryWrapper<CourseDetails>()
.in(CourseDetails::getCourseDetailsId, detailIdList)
.select(CourseDetails::getCourseDetailsName)).stream()
.collect(Collectors.toMap(CourseDetails::getCourseDetailsId, CourseDetails::getCourseDetailsName));
Set<Long> detailIdList = courseCollectList.stream().map(CourseCollect::getCourseDetailsId).collect(Collectors.toSet());
Map<Long, CourseDetails> courseDetailsMap = detailIdList.isEmpty() ? new HashMap<>() : courseDetailsService.list(new LambdaQueryWrapper<CourseDetails>()
.in(CourseDetails::getCourseDetailsId, detailIdList)).stream()
.collect(Collectors.toMap(CourseDetails::getCourseDetailsId, item->item));
PageInfo<Course> pageInfo = new PageInfo<>(courseList);
if (CollectionUtil.isNotEmpty(courseList)) {
List<Course> courses = pageInfo.getList();
for (Course course : courses) {
course.setCourseClassification(courseClassificationDao.selectById(course.getClassifyId()));
CourseCollect courseCollect = courseCollectHashMap.get(course.getCourseId());
course.setCourseDetailsName(courseCollect == null ? null : courseDetailsMap.get(courseCollect.getCourseDetailsId()));
CourseDetails courseDetails = courseCollect == null ? null : courseDetailsMap.get(courseCollect.getCourseDetailsId());
if (courseDetails != null) {
course.setCourseDetailsName(courseDetails.getCourseDetailsName());
course.setCourseDetailsId(courseDetails.getCourseDetailsId());
course.setCourseDetailsCount(courseDetails.getCourseDetailsCount());
}
}
}
return Result.success().put("data", PageUtils.page(pageInfo, true));