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/QuestionMapper.xml | 56 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 46 insertions(+), 10 deletions(-)
diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml
index fd64749..69b64af 100644
--- a/src/main/resources/mapper/QuestionMapper.xml
+++ b/src/main/resources/mapper/QuestionMapper.xml
@@ -29,6 +29,8 @@
WHEN tq.question_type = 4 THEN '濉┖棰�'
WHEN tq.question_type = 5 THEN '绠�绛旈'
WHEN tq.question_type = 6 THEN '璇煶棰�'
+ WHEN tq.question_type = 7 THEN '璁$畻棰�'
+ WHEN tq.question_type = 8 THEN '鍒嗘瀽棰�'
END AS questionTypeName,
ts.name AS subjectName,
tu.real_name AS createUserName
@@ -53,6 +55,9 @@
</if>
<if test="content != null and content != ''">
and instr(tq.content, #{content})
+ </if>
+ <if test="title != null and title != ''">
+ and title like CONCAT('%', #{title}, '%')
</if>
</where>
</select>
@@ -90,18 +95,49 @@
<foreach collection="questionIds" open="(" item="id" close=")" separator=",">#{id}</foreach>
</select>
- <select id="selectBySubject" resultType="com.ycl.jxkg.domain.question.RandomQuestionDTO">
+ <select id="selectByDifAndSub" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM t_question
+ <where>
+ deleted = 0 and status = 1
+ <if test="subjectId!=null">and subject_id = #{subjectId}</if>
+ <if test="difficult!=null">AND difficult = #{difficult}</if>
+ <if test="questionType!=null">AND question_type = #{questionType}</if>
+ </where>
+
+ </select>
+
+ <select id="getRandomQuestion" resultMap="BaseResultMap">
SELECT
- id as questionId,question_type
+ *
FROM
- t_question
- WHERE
- subject_id = #{subjectId}
- and question_type in
- <foreach collection="types" item="type" separator="," open="(" close=")">
- #{type}
- </foreach>
- and deleted = 0 and status = 1
+ t_question tq
+ <where>
+ tq.deleted = 0 and tq.status = 1
+ <if test="subjectId!=null">and tq.subject_id = #{subjectId}</if>
+ <if test="difficult!=null">AND tq.difficult = #{difficult}</if>
+ <if test="questionType!=null">AND tq.question_type = #{questionType}</if>
+ </where>
+ ORDER BY
+ RAND()
+ LIMIT #{num}
+ </select>
+
+ <resultMap id="exportDataMap" type="com.ycl.jxkg.domain.vo.admin.exam.QuestionExportData">
+ <result column="question_type" property="questionType"/>
+ <result column="title" property="title"/>
+ <result column="analyze" property="analyze"/>
+ <result column="content" property="content"/>
+ <result column="correct" property="answer"/>
+ <collection property="subjectList" column="id" ofType="string" select="selectSubjects"/>
+ </resultMap>
+
+ <select id="export" resultType="com.ycl.jxkg.domain.vo.admin.exam.ExamPaperImportVO">
+ SELECT
+ q.*,
+ s.NAME AS SUBJECT
+ FROM t_question q
+ LEFT JOIN t_subject s ON subject_id = s.id
+ ORDER BY q.id
</select>
</mapper>
--
Gitblit v1.8.0