|
@@ -5,11 +5,12 @@
|
|
SELECT
|
|
SELECT
|
|
tmp1.*,
|
|
tmp1.*,
|
|
u.realname AS teacherName,
|
|
u.realname AS teacherName,
|
|
- tmp2.learner_number
|
|
|
|
|
|
+ tmp2.learner_number,
|
|
|
|
+ <include refid="stateCondition"/>
|
|
FROM
|
|
FROM
|
|
(
|
|
(
|
|
SELECT
|
|
SELECT
|
|
- *
|
|
|
|
|
|
+ *
|
|
FROM course
|
|
FROM course
|
|
WHERE
|
|
WHERE
|
|
open_type = 1
|
|
open_type = 1
|
|
@@ -34,16 +35,16 @@
|
|
) tmp1
|
|
) tmp1
|
|
LEFT JOIN
|
|
LEFT JOIN
|
|
(
|
|
(
|
|
- SELECT
|
|
|
|
- cc.course_id,
|
|
|
|
- count(
|
|
|
|
- DISTINCT (ucc.user_id)) AS learner_number
|
|
|
|
- FROM
|
|
|
|
- user_course_catalog ucc
|
|
|
|
- LEFT JOIN
|
|
|
|
- course_catalog cc ON ucc.course_catalog_id = cc.id
|
|
|
|
- GROUP BY
|
|
|
|
- cc.course_id
|
|
|
|
|
|
+ SELECT
|
|
|
|
+ cc.course_id,
|
|
|
|
+ count(
|
|
|
|
+ DISTINCT (ucc.user_id)) AS learner_number
|
|
|
|
+ FROM
|
|
|
|
+ user_course_catalog ucc
|
|
|
|
+ LEFT JOIN
|
|
|
|
+ course_catalog cc ON ucc.course_catalog_id = cc.id
|
|
|
|
+ GROUP BY
|
|
|
|
+ cc.course_id
|
|
) tmp2
|
|
) tmp2
|
|
ON tmp1.id = tmp2.course_id
|
|
ON tmp1.id = tmp2.course_id
|
|
LEFT JOIN sys_user u on tmp1.teacher_id=u.id
|
|
LEFT JOIN sys_user u on tmp1.teacher_id=u.id
|
|
@@ -74,27 +75,36 @@
|
|
|
|
|
|
<select id="listHotCourse" resultType="com.ynfy.buss.course.course.entity.Course">
|
|
<select id="listHotCourse" resultType="com.ynfy.buss.course.course.entity.Course">
|
|
SELECT
|
|
SELECT
|
|
- c.*,
|
|
|
|
- tmp.learn_number
|
|
|
|
|
|
+ c.*,
|
|
|
|
+ tmp.learn_number
|
|
FROM
|
|
FROM
|
|
- course c
|
|
|
|
|
|
+ course c
|
|
LEFT JOIN
|
|
LEFT JOIN
|
|
(
|
|
(
|
|
- SELECT
|
|
|
|
- cc.course_id,
|
|
|
|
- count(
|
|
|
|
- DISTINCT ( ucc.user_id )) AS learn_number
|
|
|
|
- FROM
|
|
|
|
- user_course_catalog ucc
|
|
|
|
- LEFT JOIN course_catalog cc ON ucc.course_catalog_id = cc.id
|
|
|
|
- GROUP BY
|
|
|
|
- cc.course_id
|
|
|
|
|
|
+ SELECT
|
|
|
|
+ cc.course_id,
|
|
|
|
+ count(
|
|
|
|
+ DISTINCT ( ucc.user_id )) AS learn_number
|
|
|
|
+ FROM
|
|
|
|
+ user_course_catalog ucc
|
|
|
|
+ LEFT JOIN course_catalog cc ON ucc.course_catalog_id = cc.id
|
|
|
|
+ GROUP BY
|
|
|
|
+ cc.course_id
|
|
) tmp
|
|
) tmp
|
|
ON c.id = tmp.course_id
|
|
ON c.id = tmp.course_id
|
|
ORDER BY
|
|
ORDER BY
|
|
- tmp.learn_number DESC
|
|
|
|
|
|
+ tmp.learn_number DESC
|
|
<if test="limit !=null">
|
|
<if test="limit !=null">
|
|
LIMIT #{limit}
|
|
LIMIT #{limit}
|
|
</if>
|
|
</if>
|
|
</select>
|
|
</select>
|
|
|
|
+ <sql id="stateCondition">
|
|
|
|
+ CASE
|
|
|
|
+ WHEN NOW() < START_TIME THEN 2
|
|
|
|
+ WHEN NOW() > end_TIME THEN 3
|
|
|
|
+ WHEN NOW() > START_TIME AND NOW() < end_TIME THEN 0
|
|
|
|
+ ELSE NULL
|
|
|
|
+ END
|
|
|
|
+ AS state
|
|
|
|
+ </sql>
|
|
</mapper>
|
|
</mapper>
|