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 | 90 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 82 insertions(+), 8 deletions(-)
diff --git a/src/main/resources/mapper/ClassesUserMapper.xml b/src/main/resources/mapper/ClassesUserMapper.xml
index ab42074..5f713e9 100644
--- a/src/main/resources/mapper/ClassesUserMapper.xml
+++ b/src/main/resources/mapper/ClassesUserMapper.xml
@@ -10,6 +10,22 @@
<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">
+ <result column="id" property="userId"/>
+ <result column="phone" property="phone"/>
+ <result column="real_name" property="realName"/>
+ <result column="do_time" property="doTime"/>
+ <result column="exam_submit" property="examSubmit"/>
+ <result column="status" property="status" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
+ <result column="phone" property="phone"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="mark_paper_status" property="markPaperStatus" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
</resultMap>
@@ -26,15 +42,73 @@
<select id="getPage" resultMap="BaseResultMap">
SELECT TCU.classes_id,
- TCU.user_id,
- TCU.create_time,
- TCU.id,
- TU.real_name,
- TU.sex,
- TU.phone
+ TCU.user_id,
+ TCU.create_time,
+ TCU.id,
+ TU.real_name,
+ TU.sex,
+ 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
+ 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>
+
+ <select id="getClassesUserList" resultMap="ResultMap">
+ SELECT
+ TU.id,
+ TU.real_name,
+ TU.phone
+ FROM
+ t_classes_user TCU
+ INNER JOIN t_user TU ON TU.id = TCU.user_id AND TCU.classes_id = #{classesId}
+ WHERE
+ 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 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