<?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.tcm.training.admin.live.mapper.HealthCourseFavoriteRecordMapper">
|
|
<select id="selectAppFavoriteCourses" resultType="com.tcm.training.admin.live.row.AppHealthCourseFavoriteRow">
|
SELECT
|
latest.course_id AS courseId,
|
c.title AS title,
|
c.cover_img AS coverImage,
|
lc.name AS levelName,
|
dc.name AS difficultyName,
|
e.name AS teacherName,
|
e.avatar AS teacherAvatar,
|
c.learn_user_count AS learnUserCount,
|
c.studying_count AS studyingCount,
|
latest.action_time AS favoritedAt
|
FROM (
|
SELECT r.course_id, r.action_time, r.id
|
FROM tcm_health_course_favorite_record r
|
INNER JOIN (
|
SELECT course_id, MAX(id) AS max_id
|
FROM tcm_health_course_favorite_record
|
WHERE app_user_id = #{appUserId}
|
GROUP BY course_id
|
) latest_record ON latest_record.max_id = r.id
|
WHERE r.app_user_id = #{appUserId}
|
AND r.action_type = 'FAVORITE'
|
) latest
|
INNER JOIN tcm_health_course c ON c.id = latest.course_id
|
AND c.deleted = 0
|
AND c.status = 1
|
LEFT JOIN tcm_live_course_category lc ON lc.id = c.level_category_id AND lc.deleted = 0
|
LEFT JOIN tcm_live_course_category dc ON dc.id = c.difficulty_category_id AND dc.deleted = 0
|
LEFT JOIN tcm_expert e ON e.id = c.expert_id AND e.deleted = 0
|
ORDER BY latest.action_time DESC, latest.id DESC
|
</select>
|
|
</mapper>
|