From b000eb91014d376f88bca571ca2088596f8ac9a6 Mon Sep 17 00:00:00 2001
From: Wangmin <wangmin.email@qq.com>
Date: Wed, 26 Jul 2023 13:16:36 +0800
Subject: [PATCH] 答题记录新增图片答案,考试试题新增图片答案

---
 school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java      |  9 +++++++--
 school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerItemBo.java     |  5 +++++
 school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java |  5 +++++
 school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/TestQuestionItemVo.java        | 10 ++++++++++
 school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java   |  4 +++-
 school-paper/src/main/resources/mapper/school-paper/DbQuestionBankTestPaperMapper.xml      |  4 +++-
 school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml      |  2 ++
 7 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java b/school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java
index e73be28..ed14a9f 100644
--- a/school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java
+++ b/school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java
@@ -20,12 +20,12 @@ import java.math.BigDecimal;
 @TableName("db_test_paper_record_detail")
 public class DbTestPaperRecordDetail extends BaseEntity {
 
-    private static final long serialVersionUID=1L;
+    private static final long serialVersionUID = 1L;
 
     /**
      * 主键id
      */
-    @TableId(value = "id",type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
     /**
      * 记录id
@@ -39,6 +39,11 @@ public class DbTestPaperRecordDetail extends BaseEntity {
      * 答案
      */
     private String answer;
+
+    /**
+     * 图片答案
+     */
+    private String answersPic;
     /**
      * 正确答案
      */
diff --git a/school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerItemBo.java b/school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerItemBo.java
index 456f925..e0ef8cd 100644
--- a/school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerItemBo.java
+++ b/school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerItemBo.java
@@ -24,4 +24,9 @@ public class TestPaperAnswerItemBo  implements Serializable {
      * 学生答题内容
      */
     private String answer;
+
+    /**
+     * 学生答题内容(图片)
+     */
+    private String answerPic;
 }
diff --git a/school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java b/school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java
index 4fb003b..50c1d6d 100644
--- a/school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java
+++ b/school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java
@@ -45,6 +45,11 @@ public class DbTestPaperRecordDetailVo {
      */
     @ExcelProperty(value = "答案")
     private String answer;
+    /**
+     * 图片答案
+     */
+    @ExcelProperty(value = "答案")
+    private String answerPic;
 
     /**
      * 正确答案
diff --git a/school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/TestQuestionItemVo.java b/school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/TestQuestionItemVo.java
index 58ea6e1..58de91c 100644
--- a/school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/TestQuestionItemVo.java
+++ b/school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/TestQuestionItemVo.java
@@ -29,6 +29,16 @@ public class TestQuestionItemVo {
     private String answer;
 
     /**
+     * 我的答案(图片)
+     */
+    private String answerPic;
+
+    /**
+     * 题目类型 1填空,2选择,3解答
+     */
+    private Integer species;
+
+    /**
      * 选择题选项
      */
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
diff --git a/school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java b/school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
index d6c6ad7..e5b79c9 100644
--- a/school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
+++ b/school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
@@ -94,7 +94,7 @@ public class TestPaperServiceImpl implements ITestPaperService {
         // 若传入了本题的结果,则先将结果存入Redis中
         if (CollUtil.isNotEmpty(request.getAnswers())) {
             request.getAnswers().forEach(answer -> {
-                Objects.requireNonNull(answer.getId(),"题目ID非法");
+                Objects.requireNonNull(answer.getId(), "题目ID非法");
                 String key = String.format(TEST_PAPER_ANSWER_KEY_FORMAT, TEST_PAPER_ANSWER_KEY, request.getRecordId(), answer.getId());
                 RedisUtils.setCacheObject(key, answer);
             });
@@ -108,6 +108,7 @@ public class TestPaperServiceImpl implements ITestPaperService {
             TestPaperAnswerItemBo cacheObject = RedisUtils.getCacheObject(key);
             Optional.ofNullable(cacheObject).ifPresent(cache -> {
                 question.setAnswer(cache.getAnswer());
+                question.setAnswerPic(cache.getAnswerPic());
             });
         });
         return result;
@@ -139,6 +140,7 @@ public class TestPaperServiceImpl implements ITestPaperService {
             TestPaperAnswerItemBo cacheObject = RedisUtils.getCacheObject(key);
             Optional.ofNullable(cacheObject).ifPresent(cache -> {
                 buffer.setAnswer(cache.getAnswer());
+                buffer.setAnswersPic(cache.getAnswerPic());
             });
             // 计算选择题分数
             DbQuestionBankTestPaperVo bankTestPaperVo = bankTestPaperService.queryById(question.getId());
diff --git a/school-paper/src/main/resources/mapper/school-paper/DbQuestionBankTestPaperMapper.xml b/school-paper/src/main/resources/mapper/school-paper/DbQuestionBankTestPaperMapper.xml
index 2bc0892..421ef26 100644
--- a/school-paper/src/main/resources/mapper/school-paper/DbQuestionBankTestPaperMapper.xml
+++ b/school-paper/src/main/resources/mapper/school-paper/DbQuestionBankTestPaperMapper.xml
@@ -28,6 +28,7 @@
     <resultMap id="TestPaper" type="com.ruoyi.school.paper.domain.vo.TestQuestionItemVo">
         <id property="id" column="id"/>
         <result property="topic" column="topic"/>
+        <result property="species" column="species"/>
         <collection property="options" column="id" ofType="com.ruoyi.school.paper.domain.vo.OptionsVo" select="selectOptions">
             <result property="optionTag" column="option_tag"/>
             <result property="optionContent" column="option_content"/>
@@ -42,7 +43,8 @@
 
     <select id="selectTestPaperQuestion" resultMap="TestPaper">
         select question_bank.id,
-               question_bank.topic
+               question_bank.topic,
+               question_bank.species
         from db_test_paper_record as answer_sheet
                  join db_question_bank_test_paper as question_bank
                       on answer_sheet.test_paper_id = question_bank.test_paper_id
diff --git a/school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml b/school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
index 2631c64..2401efd 100644
--- a/school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
+++ b/school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
@@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo" id="TestPaperRecordDetailResult">
         <result property="topic" column="topic"/>
         <result property="answer" column="answer"/>
+        <result property="answerPic" column="answers_pic"/>
         <result property="score" column="score"/>
         <result property="correctAnswer" column="correctAnswer"/>
         <result property="righAnswersPic" column="right_answers_pic"/>
@@ -40,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         dqbatp.right_answers as correctAnswer,
         dqbatp.right_answers_pic,
         dtprd.answer,
+        dtprd.answers_pic,
         dtprd.score,
         d.option_tag,
         d.option_content,
--
libgit2 0.26.0