|
@@ -187,42 +187,75 @@
|
|
|
</where>
|
|
|
</sql>
|
|
|
|
|
|
+ <sql id="demoGroupQueryCondition1">
|
|
|
+ <where>
|
|
|
+ dgcp.status_=0
|
|
|
+ AND dgcp.demo_group_id_ IN
|
|
|
+ <foreach collection="demoGroupIds" item="demoGroupId" open="(" close=")" separator=",">
|
|
|
+ #{demoGroupId}
|
|
|
+ </foreach>
|
|
|
+ AND CONCAT(dgcp.course_date_,' ',dgcp.start_time_)>=NOW()
|
|
|
+ <if test="params.search!=null">
|
|
|
+ AND su.username_ like concat('%',#{params.search},'%')
|
|
|
+ </if>
|
|
|
+ <if test="params.subjectIds!=null and params.subjectIds!=''">
|
|
|
+ AND FIND_IN_SET(dg.subject_id_,#{params.subjectIds})
|
|
|
+ </if>
|
|
|
+ <if test="params.startTime!=null and params.endTime==null">
|
|
|
+ AND CONCAT(dgcp.course_date_,' ',dgcp.start_time_)>=DATE_FORMAT(#{params.startTime},'%Y-%m-%d %H:%i:%S')
|
|
|
+ AND dgcp.course_date_=DATE_FORMAT(#{params.startTime},'%Y-%m-%d')
|
|
|
+ </if>
|
|
|
+ <if test="params.startTime!=null and params.endTime!=null">
|
|
|
+ AND (CONCAT(dgcp.course_date_,' ',dgcp.start_time_) BETWEEN DATE_FORMAT(#{params.startTime},'%Y-%m-%d %H:%i:%S') AND DATE_FORMAT(#{params.endTime},'%Y-%m-%d %H:%i:%S'))
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ </sql>
|
|
|
+
|
|
|
<select id="findDemoGroupList" resultMap="studentDemoGroupListDto">
|
|
|
SELECT
|
|
|
- dg.id_ demo_group_id_,
|
|
|
- su.username_,
|
|
|
- su.avatar_,
|
|
|
- t.introduction_,
|
|
|
- s.name_ subject_name_,
|
|
|
- COUNT(cg.id_) number_of_classes_,
|
|
|
- dgcp.id_,
|
|
|
- dgcp.demo_group_id_,
|
|
|
- dgcp.create_time_,
|
|
|
- dgcp.status_,
|
|
|
- dgcp.course_date_,
|
|
|
- CONCAT(dgcp.course_date_,' ',dgcp.start_time_) start_time_,
|
|
|
- CONCAT(dgcp.course_date_,' ',dgcp.end_time_) end_time_
|
|
|
+ dg.id_ demo_group_id_,
|
|
|
+ su.username_,
|
|
|
+ su.avatar_,
|
|
|
+ t.introduction_,
|
|
|
+ s.name_ subject_name_,
|
|
|
+ COUNT(cg.id_) number_of_classes_,
|
|
|
+ dgcp.id_,
|
|
|
+ dgcp.demo_group_id_,
|
|
|
+ dgcp.create_time_,
|
|
|
+ dgcp.status_,
|
|
|
+ dgcp.course_date_,
|
|
|
+ CONCAT(dgcp.course_date_,' ',dgcp.start_time_) start_time_,
|
|
|
+ CONCAT(dgcp.course_date_,' ',dgcp.end_time_) end_time_
|
|
|
FROM
|
|
|
- demo_group dg
|
|
|
- LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
|
|
|
- LEFT JOIN teacher t ON dg.user_id_=t.id_
|
|
|
- LEFT JOIN sys_user su ON dg.user_id_=su.id_
|
|
|
- LEFT JOIN `subject` s ON dg.subject_id_=s.id_
|
|
|
- LEFT JOIN class_group cg ON dg.id_=cg.music_group_id_ AND cg.group_type_='DEMO'
|
|
|
- <include refid="demoGroupQueryCondition"/>
|
|
|
+ demo_group dg
|
|
|
+ LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
|
|
|
+ LEFT JOIN teacher t ON dg.user_id_=t.id_
|
|
|
+ LEFT JOIN sys_user su ON dg.user_id_=su.id_
|
|
|
+ LEFT JOIN `subject` s ON dg.subject_id_=s.id_
|
|
|
+ LEFT JOIN class_group cg ON dg.id_=cg.music_group_id_ AND cg.group_type_='DEMO'
|
|
|
+ <include refid="demoGroupQueryCondition1"/>
|
|
|
GROUP BY dgcp.id_,dg.id_
|
|
|
ORDER BY dgcp.start_time_
|
|
|
- <include refid="global.limit"/>
|
|
|
</select>
|
|
|
<select id="countDemoGroupList" resultType="java.lang.Integer">
|
|
|
SELECT
|
|
|
- count(*)
|
|
|
+ COUNT(DISTINCT dg.id_)
|
|
|
FROM
|
|
|
demo_group dg
|
|
|
- LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
|
|
|
- LEFT JOIN sys_user su ON dg.user_id_=su.id_
|
|
|
+ LEFT JOIN demo_group_courses_plan dgcp ON dg.id_ = dgcp.demo_group_id_
|
|
|
+ LEFT JOIN sys_user su ON dg.user_id_ = su.id_
|
|
|
<include refid="demoGroupQueryCondition"/>
|
|
|
</select>
|
|
|
+ <select id="findDemoGoupIds" resultType="java.lang.Integer">
|
|
|
+ SELECT
|
|
|
+ DISTINCT dg.id_
|
|
|
+ FROM
|
|
|
+ demo_group dg
|
|
|
+ LEFT JOIN demo_group_courses_plan dgcp ON dg.id_ = dgcp.demo_group_id_
|
|
|
+ LEFT JOIN sys_user su ON dg.user_id_ = su.id_
|
|
|
+ <include refid="demoGroupQueryCondition"/>
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
<select id="findClassGroupIDByDemoGroupId" resultType="java.lang.Integer">
|
|
|
SELECT
|
|
|
id_
|