From d12cba6b8ac17a906e4df0bccdd616cfb203676c Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 14 Jan 2025 11:27:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=82=E7=9C=8B=E8=AE=B0=E5=BD=95=20?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/course/dao/CourseCollectDao.java | 4 ++-- .../impl/CourseCollectServiceImpl.java | 24 ++++++++++--------- .../mapper/course/CourseCollectDao.xml | 8 +++---- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/sqx/modules/course/dao/CourseCollectDao.java b/src/main/java/com/sqx/modules/course/dao/CourseCollectDao.java index 208a1769..2fd9fac3 100644 --- a/src/main/java/com/sqx/modules/course/dao/CourseCollectDao.java +++ b/src/main/java/com/sqx/modules/course/dao/CourseCollectDao.java @@ -20,6 +20,6 @@ public interface CourseCollectDao extends BaseMapper { List selectClassify1In3(@Param("userId") Long userId); - List selectClassify1In2(@Param("userId") Long userId); - List selectClassify1ByUserId(@Param("userId") Long userId); + List selectClassify2(@Param("userId") Long userId); + List selectClassify3ByUserId(@Param("userId") Long userId); } 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 0bb9fa58..1f09cfae 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 @@ -140,28 +140,30 @@ public class CourseCollectServiceImpl extends ServiceImpl 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 courseIdList = new HashSet<>(); //详情id Set courseDetailIds = new HashSet<>(); + //剧集-观看记录时间 + Map 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 courseList = courseIdList.isEmpty() ? new ArrayList<>() : courseDao.selectList(new LambdaQueryWrapper().in(Course::getCourseId, courseIdList)); @@ -170,20 +172,20 @@ public class CourseCollectServiceImpl extends ServiceImpl().in(CourseDetails::getCourseDetailsId, courseDetailIds)); Map courseDetailsMap = courseDetails1.stream() .collect(Collectors.toMap(CourseDetails::getCourseId, item -> item, (key1, key2) -> key1)); -// List courseDetails2 = courseIdList.isEmpty() ? new ArrayList<>() : courseDetailsDao.countByCourseId(courseIdList); -// Map 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 pageInfo = new PageInfo<>(courseList); return Result.success().put("data", PageUtils.page(pageInfo, true)); diff --git a/src/main/resources/mapper/course/CourseCollectDao.xml b/src/main/resources/mapper/course/CourseCollectDao.xml index 40cad417..314782d4 100644 --- a/src/main/resources/mapper/course/CourseCollectDao.xml +++ b/src/main/resources/mapper/course/CourseCollectDao.xml @@ -43,7 +43,7 @@ order by c1.update_time desc - SELECT c1.course_id as courseId, c1.course_details_id as courseDetailsId @@ -55,12 +55,12 @@ order by c1.update_time desc - 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