diff --git a/exam-module-exam/exam-module-exam-biz/pom.xml b/exam-module-exam/exam-module-exam-biz/pom.xml
index 04f83b88..ac1e3d53 100644
--- a/exam-module-exam/exam-module-exam-biz/pom.xml
+++ b/exam-module-exam/exam-module-exam-biz/pom.xml
@@ -59,7 +59,11 @@
com.baomidou
mybatis-plus-generator
-
+
+ org.jsoup
+ jsoup
+ 1.17.1
+
pc.exam.gg
exam-spring-boot-starter-redis
diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/error/vo/ErrorQuestionListVo.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/error/vo/ErrorQuestionListVo.java
index 72a46b7b..42f12d58 100644
--- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/error/vo/ErrorQuestionListVo.java
+++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/error/vo/ErrorQuestionListVo.java
@@ -23,10 +23,15 @@ public class ErrorQuestionListVo {
*/
private String taskId;
+ /**
+ * 任务名称
+ */
private String taskName;
+ /**
+ * 错误次数
+ */
private String errorNumber;
-
/**
* 章节名称
*/
@@ -36,40 +41,17 @@ public class ErrorQuestionListVo {
*/
private String subjectName;
- /**
- * 题型难度(0:简单,1:一般,2:困难)
- */
- private Integer quLevel;
-
/**
* 试题内容(带样式:下列表格123
\n\n\n\n1 | \)
*/
private String content;
- /**
- * 试题内容(纯文本)
- */
private String contentText;
- /**
- * 解析(带样式)
- */
- private String analysis;
-
- /**
- * c语言参考答案
- */
- private String answer;
-
-
/**
* 知识点
*/
private String pointNames;
- /**
- * 关键字
- */
- private String keywords;
/**
* 课程类别
@@ -80,10 +62,7 @@ public class ErrorQuestionListVo {
* 专业分类
*/
private String specialtyName;
- /**
- * 数据库名
- */
- private String tname;
+
/**
* 试题答案
@@ -96,15 +75,12 @@ public class ErrorQuestionListVo {
private List fileUploads;
/**
- * 试题判分
+ * 答案
*/
- private ExamQuestionScore questionScores;
-
+ private String answer;
/**
- * 试题关键字
+ * 创建时间
*/
- private List questionKeywords;
-
private LocalDateTime createTime;
private String creator;
diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/error/ExamErrorQuestion.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/error/ExamErrorQuestion.java
index a03339d8..dac556d1 100644
--- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/error/ExamErrorQuestion.java
+++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/error/ExamErrorQuestion.java
@@ -37,89 +37,14 @@ public class ExamErrorQuestion {
private String taskId;
/**
- * 章节名称
+ * 创建时间
*/
- private String chapteridDictText;
- /**
- * 题型名称
- */
- private String subjectName;
-
- /**
- * 题型难度(0:简单,1:一般,2:困难)
- */
- private Integer quLevel;
-
- /**
- * 试题内容(带样式:下列表格123
\n\n\n\n1 | \)
- */
- private String content;
-
- /**
- * 试题内容(纯文本)
- */
- private String contentText;
-
- /**
- * 解析(带样式)
- */
- private String analysis;
-
- /**
- * c语言参考答案
- */
- private String answer;
-
-
- /**
- * 知识点
- */
- private String pointNames;
- /**
- * 关键字
- */
- private String keywords;
-
- /**
- * 课程类别
- */
- private String courseName;
-
- /**
- * 专业分类
- */
- private String specialtyName;
- /**
- * 数据库名
- */
- private String tname;
-
- /**
- * 试题答案
- */
- @TableField(exist = false)
- private List answerList;
-
- /**
- * 试题文件
- */
- @TableField(exist = false)
- private List fileUploads;
-
- /**
- * 试题判分
- */
- @TableField(exist = false)
- private ExamQuestionScore questionScores;
-
- /**
- * 试题关键字
- */
- @TableField(exist = false)
- private List questionKeywords;
-
private LocalDateTime createTime;
+ /**
+ * 创建人
+ */
+
private String creator;
/**
* 租户id
diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/error/ExamErrorQuestionServiceImpl.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/error/ExamErrorQuestionServiceImpl.java
index ea26ef21..a8ee065d 100644
--- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/error/ExamErrorQuestionServiceImpl.java
+++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/error/ExamErrorQuestionServiceImpl.java
@@ -1,26 +1,63 @@
package pc.exam.pp.module.exam.service.error;
import jakarta.annotation.Resource;
+import org.jsoup.Jsoup;
import org.springframework.stereotype.Service;
import pc.exam.pp.module.exam.controller.admin.error.vo.ErrorQuestionListVo;
+import pc.exam.pp.module.exam.dal.dataobject.ExamQuestion;
import pc.exam.pp.module.exam.dal.mysql.error.ExamErrorQuestionInfoMapper;
import pc.exam.pp.module.exam.dal.mysql.error.ExamErrorQuestionMapper;
+import pc.exam.pp.module.exam.service.question.IExamQuestionService;
import java.util.List;
@Service
-public class ExamErrorQuestionServiceImpl implements ExamErrorQuestionService{
+public class ExamErrorQuestionServiceImpl implements ExamErrorQuestionService {
@Resource
ExamErrorQuestionMapper examErrorQuestionMapper;
@Resource
ExamErrorQuestionInfoMapper examErrorQuestionInfoMapper;
+ @Resource
+ IExamQuestionService examQuestionService;
@Override
public List selectByUserId(String userId) {
List errorQuestionListVos = examErrorQuestionMapper.selectByUserId(userId);
- errorQuestionListVos.forEach(item->{
+ errorQuestionListVos.forEach(item -> {
+ // 通过试题ID查询对应所有的内容
+ ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(item.getQuId());
item.setErrorNumber(examErrorQuestionInfoMapper.selectByQuId(item.getQuId()));
+ item.setChapteridDictText(examQuestion.getChapteridDictTextVo());
+ item.setSubjectName(examQuestion.getSubjectName());
+ item.setPointNames(examQuestion.getPointNamesVo());
+ item.setCourseName(examQuestion.getCourseName());
+ item.setSpecialtyName(examQuestion.getSpecialtyName());
+ item.setAnswerList(examQuestion.getAnswerList());
+ item.setContent(examQuestion.getContent());
+ item.setFileUploads(examQuestion.getFileUploads());
+ item.setContentText(Jsoup.parse(item.getContent()).text());
+ if (examQuestion.getFileUploads() != null) {
+ // 说明是有文件的
+ // 答案就是URL,文件路径,直接下载到本地查看
+ examQuestion.getFileUploads().forEach(fileUpload -> {
+ if (fileUpload.getFileType().equals("2")) {
+ item.setAnswer(fileUpload.getUrl());
+ }
+ });
+ } else {
+ // 说明没有文件
+ // 选择题 选择题答案
+ examQuestion.getAnswerList().forEach(answer -> {
+ if (answer.getIsRight() != null) {
+ if (answer.getIsRight().equals("0")) {
+ item.setAnswer(answer.getContent());
+ }
+ } else {
+ item.setAnswer(item.getAnswer() + answer.getContentIn() + "
");
+ }
+ });
+ }
});
return errorQuestionListVos;
}