diff --git a/src/main/java/com/sqx/modules/course/service/impl/CourseCollectServiceImpl.java b/src/main/java/com/sqx/modules/course/service/impl/CourseCollectServiceImpl.java index 1ab11c7a..5f5ccd29 100644 --- a/src/main/java/com/sqx/modules/course/service/impl/CourseCollectServiceImpl.java +++ b/src/main/java/com/sqx/modules/course/service/impl/CourseCollectServiceImpl.java @@ -11,6 +11,7 @@ import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; import com.sqx.modules.course.dao.CourseClassificationDao; import com.sqx.modules.course.dao.CourseCollectDao; +import com.sqx.modules.course.dao.CourseDao; import com.sqx.modules.course.entity.Course; import com.sqx.modules.course.entity.CourseCollect; import com.sqx.modules.course.entity.CourseDetails; @@ -22,13 +23,17 @@ import org.springframework.cache.annotation.CachePut; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Set; import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.stream.Collectors; @Service public class CourseCollectServiceImpl extends ServiceImpl implements CourseCollectService { + private final CourseDao courseDao; @Autowired private CourseClassificationDao courseClassificationDao; @Autowired @@ -36,6 +41,10 @@ public class CourseCollectServiceImpl extends ServiceImpl courseList = baseMapper.selectCourseByCollect(userId, classify); + Set courseIdList = baseMapper.selectList(new LambdaQueryWrapper() + .eq(CourseCollect::getUserId, userId) + .eq(CourseCollect::getClassify, classify) + .isNotNull(CourseCollect::getCourseId) + .select(CourseCollect::getCourseId, CourseCollect::getUserId)) + .stream().map(CourseCollect::getCourseId).collect(Collectors.toSet()); +// List collectList = baseMapper.selectByUserId(userId, classify); +// Set courseIdList = collectList.stream().map(CourseCollect::getCourseId).collect(Collectors.toSet()); + List courseList = courseIdList.isEmpty() ? new ArrayList<>() : courseDao.selectList(new LambdaQueryWrapper().in(Course::getCourseId, courseIdList)); +// List courseList = baseMapper.selectCourseByCollect(userId, classify); PageInfo pageInfo = new PageInfo<>(courseList); if (CollectionUtil.isNotEmpty(courseList)) { List courses = pageInfo.getList();