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 | 76 ++++++++++++++++++++++++++++++++++---
1 files changed, 69 insertions(+), 7 deletions(-)
diff --git a/src/main/resources/mapper/MeetMapper.xml b/src/main/resources/mapper/MeetMapper.xml
index aeef8be..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,11 +44,10 @@
</select>
- <select id="getPage" resultMap="BaseResultMap">
+ <select id="teacherPage" resultMap="PageMap">
SELECT
TM.meet_name,
TM.meet_cover,
- TM.classes_id,
TM.create_user,
TM.start_time,
TM.end_time,
@@ -43,18 +55,68 @@
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 and TC.deleted = 0
- <if test="query.classesIds !=null">
- and classes_id in
+ 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.teacherId!=null">
- and create_user = #{query.teacherId}
+ <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="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">
+ SELECT
+ s.real_name, s.id
+ FROM
+ t_meet m
+ INNER JOIN t_classes c ON m.classes_id = c.id AND m.id = #{meetId} AND c.deleted = 0 AND m.deleted = 0
+ INNER JOIN t_classes_user cu ON cu.classes_id = c.id AND cu.deleted = 0
+ INNER JOIN t_user s ON s.id = cu.user_id AND s.deleted = 0
+ <if test="keyword != null and keyword != ''">AND s.real_name like concat('%', #{keyword}, '%')</if>
</select>
</mapper>
--
Gitblit v1.8.0