From afc2b4d2800d91c793523d14fbe2d6fbbd319fc0 Mon Sep 17 00:00:00 2001
From: 钟日健 <5689795+arsn@user.noreply.gitee.com>
Date: Fri, 25 Feb 2022 09:02:41 +0800
Subject: [PATCH] 模拟考试开始修改,返回所有题目的所有答题信息

---
 src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml |   44 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
index 4b60a6d..bbabab4 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -534,22 +534,48 @@
         ) aa,(select @i:=0) bb
     </select>
 
-    <select id="queryRandomSubjectList" resultType="org.springblade.modules.exam.vo.ExamSubjectChoicesVO">
+    <!--ExamSubjectChoicesInfoMap 多表联查 一对多查询 -->
+    <resultMap id="ExamSubjectChoicesInfoMap" type="org.springblade.modules.exam.vo.ExamSubjectChoicesVO">
+        <id property="id" column="id"/>
+        <id property="categoryId" column="category_id"/>
+        <id property="subjectName" column="subject_name"/>
+        <id property="choicesType" column="choices_type"/>
+        <id property="answer" column="answer"/>
+        <id property="score" column="score"/>
+        <id property="level" column="level"/>
+        <result column="id" property="id"/>
+        <collection property="examSubjectOptions" javaType="java.util.List" ofType="org.springblade.modules.exam.entity.ExamSubjectOption" autoMapping="true">
+            <id property="id" column="eso_id"/>
+        </collection>
+    </resultMap>
+
+    <select id="queryRandomSubjectList" resultMap="ExamSubjectChoicesInfoMap">
         select
-        id,
-        category_id categoryId,
-        subject_name subjectName,
-        choices_type choicesType,
-        score,
-        analysis,
-        tktype
+        esc.id,esc.category_id,esc.subject_name,esc.choices_type,esc.score,esc.answer,
+        eso.id eso_id,eso.subject_choices_id,eso.option_name,eso.option_content,eso.creator,
+        eso.create_date,eso.modifier,eso.modify_date,eso.del_flag,eso.application_code,eso.tenant_code
         from (
+            select
+            id,
+            category_id,
+            subject_name,
+            choices_type,
+            score,
+            answer,
+            analysis,
+            tktype
+            from (
             select * from exam_subject_choices
             where id in
             <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                 #{item}
             </foreach>
-        ) a ORDER BY RAND() LIMIT #{number}
+            ) a ORDER BY RAND() LIMIT #{number}
+        ) esc
+        left join
+        exam_subject_option eso
+        on
+        esc.id = eso.subject_choices_id
     </select>
 
 

--
Gitblit v1.9.3