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 | 75 +++++++++++++++++++++++++++++++++++--
1 files changed, 70 insertions(+), 5 deletions(-)
diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml
index c0266f0..69b64af 100644
--- a/src/main/resources/mapper/QuestionMapper.xml
+++ b/src/main/resources/mapper/QuestionMapper.xml
@@ -15,13 +15,23 @@
<result column="deleted" jdbcType="BIT" property="deleted"/>
</resultMap>
<sql id="Base_Column_List">
- id, question_type, subject_id, difficult, correct, content, create_user, status, create_time, deleted
+ id
+ , question_type, subject_id, difficult, correct, content, create_user, status, create_time, deleted
</sql>
- <select id="page" resultType="com.ycl.jxkg.domain.vo.admin.question.QuestionResponseVO" parameterType="com.ycl.jxkg.domain.vo.admin.question.QuestionPageRequestVO">
+ <select id="page" resultType="com.ycl.jxkg.domain.vo.admin.question.QuestionResponseVO"
+ parameterType="com.ycl.jxkg.domain.vo.admin.question.QuestionPageRequestVO">
SELECT
tq.*,
- CASE WHEN tq.question_type = 1 THEN '鍗曢�夐' WHEN tq.question_type = 2 THEN '澶氶�夐' WHEN tq.question_type = 3 THEN '鍒ゆ柇棰�' WHEN tq.question_type = 4 THEN '濉┖棰�' WHEN tq.question_type = 5 THEN '绠�绛旈' END AS questionTypeName,
+ CASE WHEN tq.question_type = 1 THEN '鍗曢�夐'
+ WHEN tq.question_type = 2 THEN '澶氶�夐'
+ WHEN tq.question_type = 3 THEN '鍒ゆ柇棰�'
+ 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
FROM t_question tq
@@ -36,13 +46,18 @@
and tq.status = #{status}
</if>
<if test="subjectId != null and subjectId.size() > 0">
- and tq.subject_id in <foreach collection="subjectId" item="item" separator="," open="(" close=")"> #{item} </foreach>
+ and tq.subject_id in
+ <foreach collection="subjectId" item="item" separator="," open="(" close=")">#{item}</foreach>
</if>
<if test="questionType != null and questionType.size() > 0">
- and tq.question_type in <foreach collection="questionType" item="item" separator="," open="(" close=")"> #{item} </foreach>
+ and tq.question_type in
+ <foreach collection="questionType" item="item" separator="," open="(" close=")">#{item}</foreach>
</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>
@@ -75,4 +90,54 @@
GROUP BY create_time
</select>
+ <select id="getAnswerInfo" resultType="com.ycl.jxkg.domain.entity.Question">
+ SELECT id, question_type, correct FROM t_question WHERE id in
+ <foreach collection="questionIds" open="(" item="id" close=")" separator=",">#{id}</foreach>
+ </select>
+
+ <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
+ *
+ FROM
+ 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