From cd59ededbf05a0ae73b8f4944fbf40a1fb01d28a Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期一, 11 十一月 2024 18:03:43 +0800
Subject: [PATCH] 错题详情

---
 src/main/resources/mapper/QuestionMapper.xml |   53 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 38 insertions(+), 15 deletions(-)

diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml
index 074a926..69b64af 100644
--- a/src/main/resources/mapper/QuestionMapper.xml
+++ b/src/main/resources/mapper/QuestionMapper.xml
@@ -56,6 +56,9 @@
             <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>
 
@@ -92,18 +95,15 @@
         <foreach collection="questionIds" open="(" item="id" close=")" separator=",">#{id}</foreach>
     </select>
 
-    <select id="selectBySubject" resultType="com.ycl.jxkg.domain.question.RandomQuestionDTO">
-        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
+    <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">
@@ -111,10 +111,33 @@
                *
         FROM
              t_question tq
-        WHERE
-              tq.subject_id = #{subjectId}
+        <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()
+        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