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/ClassesUserMapper.xml | 64 +++++++++++++++++++++++++-------
1 files changed, 50 insertions(+), 14 deletions(-)
diff --git a/src/main/resources/mapper/ClassesUserMapper.xml b/src/main/resources/mapper/ClassesUserMapper.xml
index c3cc51f..5f713e9 100644
--- a/src/main/resources/mapper/ClassesUserMapper.xml
+++ b/src/main/resources/mapper/ClassesUserMapper.xml
@@ -10,6 +10,10 @@
<result column="sex" property="sex"/>
<result column="phone" property="phone"/>
<result column="create_time" property="createTime"/>
+ <result column="user_name" property="userName"/>
+ <result column="age" property="age"/>
+ <result column="birth_day" property="birthDay"/>
+ <result column="status" property="status"/>
</resultMap>
<resultMap id="ResultMap" type="com.ycl.jxkg.domain.vo.StudentExamInfoVO">
@@ -43,13 +47,19 @@
TCU.id,
TU.real_name,
TU.sex,
- TU.phone
+ TU.phone,
+ TU.user_name,
+ TU.age,
+ TU.birth_day,
+ TU.status
FROM t_classes_user TCU
- LEFT JOIN t_user TU ON TU.id = TCU.user_id
- WHERE TCU.deleted = 0 AND TCU.classes_id = #{query.classesId}
- <if test="query.studentName != null and query.studentName != ''">AND TU.real_name like concat('%',
- #{query.studentName}, '%')
- </if>
+ INNER JOIN t_user TU ON TU.id = TCU.user_id and TU.deleted = 0 AND TCU.classes_id = #{query.classesId} AND TCU.deleted = 0 AND TCU.teacher = 0
+ <where>
+ <if test="query.studentName != null and query.studentName != ''">AND TU.real_name like concat('%',
+ #{query.studentName}, '%')
+ </if>
+ </where>
+ order by TU.id desc
</select>
@@ -57,22 +67,48 @@
SELECT
TU.id,
TU.real_name,
- TU.phone,
- EST.do_time,
- EST.status,
- EST.exam_submit,
- EST.mark_paper_status
+ TU.phone
FROM
t_classes_user TCU
INNER JOIN t_user TU ON TU.id = TCU.user_id AND TCU.classes_id = #{classesId}
- LEFT JOIN t_exam_submit_temp EST ON EST.user_id = TU.id
WHERE
- TCU.deleted = 0 and EST.deleted = 0 and EST.exam_id = #{examId}
+ TCU.deleted = 0 AND TCU.teacher = 0
</select>
<select id="getClassesByUserId" resultType="java.lang.Integer">
select classes_id
from t_classes_user
- where user_id = #{userId} and deleted = 0
+ where user_id = #{userId} and deleted = 0 and teacher = 0
+ </select>
+
+ <select id="getClassesByUserId1" resultType="com.ycl.jxkg.domain.vo.ClassesVO">
+ select distinct tc.id, tc.class_name
+ from t_classes_user tcu inner join t_classes tc ON tcu.classes_id = tc.id
+ and tcu.user_id = #{userId} and tcu.teacher = 0 and tcu.deleted = 0
+ </select>
+
+ <select id="getClassesNameByUserId" resultType="java.lang.String">
+ select tc.class_name
+ from t_classes_user tcu
+ left join t_classes tc on tcu.classes_id = tc.id
+ where user_id = #{userId} and tcu.deleted = 0 and tc.deleted =0
+ </select>
+
+ <select id="getTeacherListByClassesId" resultType="com.ycl.jxkg.domain.vo.StudentVO">
+ SELECT
+ DISTINCT tu.id, tu.real_name
+ FROM t_user tu
+ INNER JOIN t_classes_user tcu ON tu.id = tcu.user_id AND tcu.classes_id = #{id} AND tcu.deleted = 0 AND tcu.teacher = 1 AND tu.deleted = 0
+ </select>
+
+ <select id="getTeachersByClassesIds" resultType="string">
+ SELECT
+ DISTINCT tu.real_name
+ FROM t_user tu
+ INNER JOIN t_classes_user tcu ON tu.id = tcu.user_id AND tcu.deleted = 0 AND tcu.teacher = 1 AND tu.deleted = 0
+ WHERE
+ tcu.classes_id in <foreach collection="classesIds" open="(" separator="," close=")" item="classesId">
+ #{classesId}
+ </foreach>
</select>
</mapper>
--
Gitblit v1.8.0