收藏记录查询不正确修复
This commit is contained in:
@@ -11,6 +11,7 @@ import com.sqx.common.utils.PageUtils;
|
|||||||
import com.sqx.common.utils.Result;
|
import com.sqx.common.utils.Result;
|
||||||
import com.sqx.modules.course.dao.CourseClassificationDao;
|
import com.sqx.modules.course.dao.CourseClassificationDao;
|
||||||
import com.sqx.modules.course.dao.CourseCollectDao;
|
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.Course;
|
||||||
import com.sqx.modules.course.entity.CourseCollect;
|
import com.sqx.modules.course.entity.CourseCollect;
|
||||||
import com.sqx.modules.course.entity.CourseDetails;
|
import com.sqx.modules.course.entity.CourseDetails;
|
||||||
@@ -22,13 +23,17 @@ import org.springframework.cache.annotation.CachePut;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, CourseCollect> implements CourseCollectService {
|
public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, CourseCollect> implements CourseCollectService {
|
||||||
|
|
||||||
|
private final CourseDao courseDao;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CourseClassificationDao courseClassificationDao;
|
private CourseClassificationDao courseClassificationDao;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -36,6 +41,10 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
|||||||
|
|
||||||
private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
|
private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
|
||||||
|
|
||||||
|
public CourseCollectServiceImpl(CourseDao courseDao) {
|
||||||
|
this.courseDao = courseDao;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@CacheEvict(value = "app:courseCollect", key = "#courseCollect.userId")
|
@CacheEvict(value = "app:courseCollect", key = "#courseCollect.userId")
|
||||||
public Result insertCourseCollect(CourseCollect courseCollect) {
|
public Result insertCourseCollect(CourseCollect courseCollect) {
|
||||||
@@ -107,7 +116,16 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
|||||||
@CachePut(value = "app:courseCollect", key = "#userId")
|
@CachePut(value = "app:courseCollect", key = "#userId")
|
||||||
public Result selectByUserId(Integer page, Integer limit, Long userId, Integer classify) {
|
public Result selectByUserId(Integer page, Integer limit, Long userId, Integer classify) {
|
||||||
PageHelper.startPage(page, limit);
|
PageHelper.startPage(page, limit);
|
||||||
List<Course> courseList = baseMapper.selectCourseByCollect(userId, classify);
|
Set<Long> courseIdList = baseMapper.selectList(new LambdaQueryWrapper<CourseCollect>()
|
||||||
|
.eq(CourseCollect::getUserId, userId)
|
||||||
|
.eq(CourseCollect::getClassify, classify)
|
||||||
|
.isNotNull(CourseCollect::getCourseId)
|
||||||
|
.select(CourseCollect::getCourseId, CourseCollect::getUserId))
|
||||||
|
.stream().map(CourseCollect::getCourseId).collect(Collectors.toSet());
|
||||||
|
// List<CourseCollect> collectList = baseMapper.selectByUserId(userId, classify);
|
||||||
|
// Set<Long> courseIdList = collectList.stream().map(CourseCollect::getCourseId).collect(Collectors.toSet());
|
||||||
|
List<Course> courseList = courseIdList.isEmpty() ? new ArrayList<>() : courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, courseIdList));
|
||||||
|
// List<Course> courseList = baseMapper.selectCourseByCollect(userId, classify);
|
||||||
PageInfo<Course> pageInfo = new PageInfo<>(courseList);
|
PageInfo<Course> pageInfo = new PageInfo<>(courseList);
|
||||||
if (CollectionUtil.isNotEmpty(courseList)) {
|
if (CollectionUtil.isNotEmpty(courseList)) {
|
||||||
List<Course> courses = pageInfo.getList();
|
List<Course> courses = pageInfo.getList();
|
||||||
|
|||||||
Reference in New Issue
Block a user