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 6905aeac..02a33b55 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 @@ -14,6 +14,8 @@ import com.sqx.modules.course.entity.CourseDetails; import com.sqx.modules.course.service.CourseCollectService; import com.sqx.modules.course.service.CourseDetailsService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.CachePut; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; @@ -32,6 +34,7 @@ public class CourseCollectServiceImpl extends ServiceImpl pages=new Page<>(page,limit); IPage courseIPage = baseMapper.selectCourseByCollect(pages, userId,classify); diff --git a/src/main/resources/mapper/course/CourseCollectDao.xml b/src/main/resources/mapper/course/CourseCollectDao.xml index 3bd35678..4661aa1a 100644 --- a/src/main/resources/mapper/course/CourseCollectDao.xml +++ b/src/main/resources/mapper/course/CourseCollectDao.xml @@ -10,44 +10,23 @@ c.*, d.course_details_name AS courseDetailsName, d.course_details_id AS courseDetailsId, - cd.course_details_count AS courseDetailsCount + COUNT(d.course_details_id) AS courseDetailsCount FROM course_collect u - LEFT JOIN course c ON u.course_id = c.course_id - LEFT JOIN ( - SELECT - cc.course_id, - cc.user_id, - d.course_details_name, - d.course_details_id - FROM - course_collect cc - LEFT JOIN course_details d ON cc.course_details_id = d.course_details_id - WHERE - cc.classify = 3 - AND cc.user_id = #{userId} - ORDER BY - cc.update_time DESC - ) AS d ON u.course_id = d.course_id - LEFT JOIN ( - SELECT - d.course_id, - COUNT(*) AS course_details_count - FROM - course_details d - GROUP BY - d.course_id - ) AS cd ON c.course_id = cd.course_id + LEFT JOIN + course c ON u.course_id = c.course_id + LEFT JOIN + course_details d ON u.course_details_id = d.course_details_id + LEFT JOIN + course_collect cc ON u.course_id = cc.course_id AND cc.user_id = #{userId} AND cc.classify = 3 WHERE u.user_id = #{userId} - AND c.course_id IS NOT NULL AND u.classify = #{classify} + AND c.course_id IS NOT NULL GROUP BY - u.course_id + u.course_id, c.course_id, d.course_details_name, d.course_details_id ORDER BY - produceEndTime DESC - - + produceEndTime DESC;