观看记录 排序
This commit is contained in:
parent
36d651da85
commit
d12cba6b8a
|
|
@ -20,6 +20,6 @@ public interface CourseCollectDao extends BaseMapper<CourseCollect> {
|
|||
|
||||
|
||||
List<Course> selectClassify1In3(@Param("userId") Long userId);
|
||||
List<Course> selectClassify1In2(@Param("userId") Long userId);
|
||||
List<Course> selectClassify1ByUserId(@Param("userId") Long userId);
|
||||
List<Course> selectClassify2(@Param("userId") Long userId);
|
||||
List<Course> selectClassify3ByUserId(@Param("userId") Long userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,28 +140,30 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
|||
public Result selectByUserId(Integer page, Integer limit, Long userId, Integer classify) {
|
||||
PageHelper.startPage(page, limit);
|
||||
List<Course> courses = new ArrayList<>();
|
||||
//收藏
|
||||
if (classify.equals(1)) {
|
||||
//查 收藏记录
|
||||
//收藏记录
|
||||
courses = baseMapper.selectClassify1In3(userId);
|
||||
}else if (classify.equals(2)){
|
||||
courses = baseMapper.selectClassify1In2(userId);
|
||||
//点赞
|
||||
courses = baseMapper.selectClassify2(userId);
|
||||
} else {
|
||||
courses = baseMapper.selectClassify1ByUserId(userId);
|
||||
}
|
||||
if (CollectionUtil.isEmpty(courses)) {
|
||||
return Result.success().put("data", PageUtils.page(new PageInfo<>(courses), true));
|
||||
//观看历史
|
||||
courses = baseMapper.selectClassify3ByUserId(userId);
|
||||
}
|
||||
|
||||
//剧id
|
||||
Set<Long> courseIdList = new HashSet<>();
|
||||
//详情id
|
||||
Set<Long> courseDetailIds = new HashSet<>();
|
||||
//剧集-观看记录时间
|
||||
Map<Long,String> upTime = new HashMap<>();
|
||||
courses.forEach(s -> {
|
||||
if (s == null) {
|
||||
return;
|
||||
}
|
||||
courseIdList.add(s.getCourseId());
|
||||
courseDetailIds.add(s.getCourseDetailsId());
|
||||
upTime.put(s.getCourseId(),s.getUpdateTime());
|
||||
});
|
||||
List<Course> courseList = courseIdList.isEmpty() ? new ArrayList<>() :
|
||||
courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, courseIdList));
|
||||
|
|
@ -170,20 +172,20 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
|||
courseDetailsService.list(new LambdaQueryWrapper<CourseDetails>().in(CourseDetails::getCourseDetailsId, courseDetailIds));
|
||||
Map<Long, CourseDetails> courseDetailsMap = courseDetails1.stream()
|
||||
.collect(Collectors.toMap(CourseDetails::getCourseId, item -> item, (key1, key2) -> key1));
|
||||
// List<CourseDetails> courseDetails2 = courseIdList.isEmpty() ? new ArrayList<>() : courseDetailsDao.countByCourseId(courseIdList);
|
||||
// Map<Long, Integer> countMap = courseDetails2.stream()
|
||||
// .collect(Collectors.toMap(CourseDetails::getCourseId, CourseDetails::getCourseDetailsCount));
|
||||
|
||||
if (CollectionUtil.isNotEmpty(courseList)) {
|
||||
for (Course course : courseList) {
|
||||
// course.setCourseClassification(courseClassificationDao.selectById(course.getClassifyId()));
|
||||
CourseDetails courseDetails = courseDetailsMap.getOrDefault(course.getCourseId(), null);
|
||||
course.setCourseDetailsCount(courseDetailsDao.countCourseByCourseId(course.getCourseId()));
|
||||
if (courseDetails != null) {
|
||||
course.setCourseDetailsName(courseDetails.getCourseDetailsName());
|
||||
course.setCourseDetailsId(courseDetails.getCourseDetailsId());
|
||||
}
|
||||
if (upTime.containsKey(course.getCourseId())) {
|
||||
course.setUpdateTime(upTime.get(course.getCourseId()));
|
||||
}
|
||||
}
|
||||
courseList.sort(Comparator.comparing(Course::getUpdateTime).reversed());
|
||||
}
|
||||
PageInfo<Course> pageInfo = new PageInfo<>(courseList);
|
||||
return Result.success().put("data", PageUtils.page(pageInfo, true));
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
order by c1.update_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectClassify1In2" resultType="com.sqx.modules.course.entity.Course">
|
||||
<select id="selectClassify2" resultType="com.sqx.modules.course.entity.Course">
|
||||
SELECT
|
||||
c1.course_id as courseId,
|
||||
c1.course_details_id as courseDetailsId
|
||||
|
|
@ -55,12 +55,12 @@
|
|||
order by c1.update_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectClassify1ByUserId" resultType="com.sqx.modules.course.entity.Course">
|
||||
<select id="selectClassify3ByUserId" resultType="com.sqx.modules.course.entity.Course">
|
||||
SELECT c1.course_id as courseId,
|
||||
c1.course_details_id as courseDetailsId
|
||||
c1.course_details_id as courseDetailsId,
|
||||
c1.update_time as updateTime
|
||||
FROM `course_collect` c1
|
||||
WHERE c1.classify = 3
|
||||
AND c1.user_id = #{userId}
|
||||
order by c1.update_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue