From b661bcf7e065092c876e052bad0bfaecb9dc0c17 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期二, 12 十一月 2024 21:21:06 +0800
Subject: [PATCH] 优化错题查询
---
src/main/resources/mapper/MeetMapper.xml | 62 ++++++++++++++++++++++++++----
1 files changed, 53 insertions(+), 9 deletions(-)
diff --git a/src/main/resources/mapper/MeetMapper.xml b/src/main/resources/mapper/MeetMapper.xml
index 6cd5068..6b9185f 100644
--- a/src/main/resources/mapper/MeetMapper.xml
+++ b/src/main/resources/mapper/MeetMapper.xml
@@ -13,6 +13,19 @@
<result column="status" property="status" />
</resultMap>
+ <resultMap id="PageMap" type="com.ycl.jxkg.domain.vo.MeetVO">
+ <id column="id" property="id"/>
+ <result column="meet_name" property="meetName" />
+ <result column="meet_cover" property="meetCover" />
+ <result column="start_time" property="startTime" />
+ <result column="end_time" property="endTime" />
+ <result column="status" property="status" />
+ <collection property="classesIds" ofType="int" column="id" select="getClassesIds"></collection>
+ </resultMap>
+
+ <select id="getClassesIds" resultType="int">
+ SELECT tmc.classes_id FROM t_meet_classes tmc WHERE tmc.meet_id = #{id}
+ </select>
<select id="getById" resultMap="BaseResultMap">
SELECT
@@ -31,29 +44,27 @@
</select>
- <select id="getPage" resultType="com.ycl.jxkg.domain.vo.MeetVO">
+ <select id="teacherPage" resultMap="PageMap">
SELECT
TM.meet_name,
TM.meet_cover,
- TM.classes_id,
TM.create_user,
- TU.user_name as teacherName,
TM.start_time,
TM.end_time,
TM.status,
TM.id
FROM
- t_meet TM left join t_user TU on TM.create_user = TU.id
+ t_meet TM
+ <if test="query.classesIds !=null and query.classesIds.size > 0">
+ INNER JOIN t_meet_classes TMC ON TM.id = TMC.meet_id
+ </if>
<where>
TM.deleted = 0
- <if test="query.classesIds !=null">
- and classes_id in
+ <if test="query.classesIds !=null and query.classesIds.size > 0">
+ and TMC.classes_id in
<foreach collection="query.classesIds" item="classesId" open="(" close=")" separator=",">
#{classesId}
</foreach>
- </if>
- <if test="query.teacherId!=null">
- and TM.create_user = #{query.teacherId}
</if>
<if test="query.status!=null">
and TM.status = #{query.status}
@@ -62,6 +73,39 @@
and TM.meet_name like concat ('%',#{query.meetName},'%')
</if>
</where>
+ order by TM.end_time desc
+ </select>
+
+ <select id="studentPage" resultMap="PageMap">
+ SELECT
+ TM.meet_name,
+ TM.meet_cover,
+ TM.create_user,
+ TM.start_time,
+ TM.end_time,
+ TM.status,
+ TM.id
+ FROM
+ t_meet TM
+ <if test="query.classesIds !=null and query.classesIds.size > 0">
+ INNER JOIN t_meet_classes TMC ON TM.id = TMC.meet_id
+ </if>
+ <where>
+ TM.deleted = 0
+ <if test="query.classesIds !=null and query.classesIds.size > 0">
+ and TMC.classes_id in
+ <foreach collection="query.classesIds" item="classesId" open="(" close=")" separator=",">
+ #{classesId}
+ </foreach>
+ </if>
+ <if test="query.status!=null">
+ and TM.status = #{query.status}
+ </if>
+ <if test="query.meetName !=null and query.meetName!='' ">
+ and TM.meet_name like concat ('%',#{query.meetName},'%')
+ </if>
+ </where>
+ order by TM.end_time desc
</select>
<select id="getStudentList" resultType="com.ycl.jxkg.domain.vo.StudentSimpleVO">
--
Gitblit v1.8.0