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/simulateexam/service/impl/SimulateExamRecordServiceImpl.java | 11 ++++++++---
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.xml | 1 +
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml | 44 +++++++++++++++++++++++++++++++++++---------
src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml | 3 ++-
4 files changed, 46 insertions(+), 13 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>
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml
index 11a7dcb..b862992 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml
@@ -46,6 +46,7 @@
<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"/>
@@ -58,7 +59,7 @@
<!--题目详情信息-->
<select id="selectExamSubjectChoicesInfo" resultMap="ExamSubjectChoicesInfoMap">
SELECT
- esc.id,esc.category_id,esc.subject_name,esc.choices_type,esc.score,esc.level,
+ esc.id,esc.category_id,esc.subject_name,esc.choices_type,esc.score,esc.level,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
diff --git a/src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.xml b/src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.xml
index c8072fa..52ba575 100644
--- a/src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.xml
+++ b/src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.xml
@@ -19,6 +19,7 @@
category_id categoryId,
subject_name subjectName,
choices_type choicesType,
+ answer,
score,
analysis,
tktype
diff --git a/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java b/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
index 11f58e8..8e646bd 100644
--- a/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
@@ -99,13 +99,13 @@
List<ExamSubjectChoicesVO> radioRandomSubjectList = examPaperService.queryRandomSubjectList(radio,25);
List<ExamSubjectChoicesVO> checkboxRandomSubjectList = examPaperService.queryRandomSubjectList(checkbox,10);
List<ExamSubjectChoicesVO> judgeRandomSubjectList = examPaperService.queryRandomSubjectList(judge,20);
- List<ExamSubjectChoicesVO> sortRandomSubjectList = examPaperService.queryRandomSubjectList(sort,5);
+// List<ExamSubjectChoicesVO> sortRandomSubjectList = examPaperService.queryRandomSubjectList(sort,5);
//合并集合数据
choicesVOList.addAll(radioRandomSubjectList);
choicesVOList.addAll(checkboxRandomSubjectList);
choicesVOList.addAll(judgeRandomSubjectList);
- choicesVOList.addAll(sortRandomSubjectList);
+// choicesVOList.addAll(sortRandomSubjectList);
//取出考试id
List<Long> longList = choicesVOList.stream().map(ExamSubjectChoicesVO::getId).collect(Collectors.toList());
@@ -124,9 +124,14 @@
simulateExamRecord.setStatus(1);
//新增模拟考试记录信息
boolean status = this.save(simulateExamRecord);
+
+ ExamSubjectChoices examSubjectChoices = new ExamSubjectChoices();
+ examSubjectChoices.setId(choicesVOList.get(0).getId());
+ ExamSubjectChoicesVO examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
if (status){
map.put("simulateExamRecord",simulateExamRecord);
map.put("examSubjectInfo",choicesVOList);
+ map.put("examSubjectChoicesVO",examSubjectChoicesVO);
//返回信息
return map;
}
@@ -165,7 +170,7 @@
/**
* 考试暂停后继续,1查询所有的答题信息,2查询所有的已答信息 3其他信息
- * @param simulateExamRecord 必须包含 模拟考试id,id_card_no, type 1: 继续考试 2: 放弃之前的考试,重新生成题目考试
+ * @param simulateExamRecord 必须包含 模拟考试id,, type 1: 继续考试 2: 放弃之前的考试,重新生成题目考试
* @return
*/
@Override
--
Gitblit v1.9.3