Files
video_server/src/main/resources/mapper/course/CourseCollectDao.xml

56 lines
2.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sqx.modules.course.dao.CourseCollectDao">
<select id="selectCourseByCollect" resultType="com.sqx.modules.course.entity.Course">
SELECT MAX(u.update_time) AS produceEndTime,
c.*,
d.course_details_name AS courseDetailsName,
d.course_details_id AS courseDetailsId,
COUNT(d.course_details_id) AS courseDetailsCount
FROM course_collect u
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 u.classify = #{classify}
AND c.course_id IS NOT NULL
GROUP BY u.course_id, c.course_id, d.course_details_name, d.course_details_id
ORDER BY produceEndTime DESC
</select>
<select id="selectSummary" resultType="java.util.Map">
SELECT
COUNT(CASE WHEN classify = 1 THEN 1 END) AS collectCount,
COUNT(CASE WHEN classify = 2 THEN 1 END) AS likeCount
FROM course_collect
WHERE user_id = #{userId};
</select>
<select id="selectClassify1In3" resultType="com.sqx.modules.course.entity.Course">
SELECT
c1.course_id as courseId,
c1.course_details_id as courseDetailsId
FROM
`course_collect` c1
INNER JOIN course_collect c2 ON c1.course_id = c2.course_id AND c2.user_id = #{userId} AND c2.classify = 1
WHERE
c1.classify = 3
AND c1.user_id = #{userId}
order by c1.create_time desc
</select>
<select id="selectClassify1ByUserId" resultType="com.sqx.modules.course.entity.Course">
SELECT c1.course_id as courseId,
c1.course_details_id as courseDetailsId
FROM `course_collect` c1
WHERE c1.classify = 3
AND c1.user_id = #{userId}
group by c1.course_id
order by c1.create_time desc
</select>
</mapper>