From 12b7bf2629926c8acbd451f48aa815a2fb59fa50 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 13 十一月 2024 11:51:17 +0800
Subject: [PATCH] 优化错题详情

---
 src/main/resources/mapper/ExamPaperScoreMapper.xml                           |   16 ++++++++++++++--
 src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java |    6 ++++++
 src/main/java/com/ycl/jxkg/domain/vo/student/wrong/CheckWrongVO.java         |    1 +
 src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java                  |    5 ++++-
 4 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java b/src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java
index 7b5b307..fcda5ea 100644
--- a/src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java
+++ b/src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java
@@ -16,6 +16,7 @@
 import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO;
 import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO;
 import com.ycl.jxkg.domain.vo.student.wrong.CheckWrongVO;
+import com.ycl.jxkg.mapper.ExamPaperMapper;
 import com.ycl.jxkg.mapper.ExamPaperScoreMapper;
 import com.ycl.jxkg.service.ExamPaperScoreService;
 import com.ycl.jxkg.service.ExamPaperService;
@@ -43,6 +44,7 @@
     private final SubjectService subjectService;
     private final ApplicationEventPublisher eventPublisher;
     private final ExamPaperScoreMapper examPaperScoreMapper;
+    private final ExamPaperMapper examPaperMapper;
 
 
     @RequestMapping(value = "/pageList", method = RequestMethod.POST)
@@ -114,6 +116,10 @@
                 .eq(ExamPaperScore::getExamId, model.getExamId())
                 .eq(ExamPaperScore::getUserId, getCurrentUser().getId())
                 .one();
+
+//        model.setUserId(getCurrentUser().getId());
+//        ExamPaperScore examPaperScore = examPaperScoreMapper.checkWrong(model);
+
         ExamPaperScore examPaperScore = examPaperScoreService.getById(info.getId());
         ExamPaperScoreVO examPaperScoreVO = new ExamPaperScoreVO();
         BeanUtils.copyProperties(examPaperScore, examPaperScoreVO);
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/student/wrong/CheckWrongVO.java b/src/main/java/com/ycl/jxkg/domain/vo/student/wrong/CheckWrongVO.java
index 2225415..c5c7bd2 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/student/wrong/CheckWrongVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/student/wrong/CheckWrongVO.java
@@ -8,6 +8,7 @@
 @AllArgsConstructor
 @NoArgsConstructor
 public class CheckWrongVO {
+    private Integer userId;
     private Integer examId;
     private Integer questionType;
     private Integer questionId;
diff --git a/src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java b/src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java
index a07832c..2ae7fd4 100644
--- a/src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java
+++ b/src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java
@@ -8,11 +8,13 @@
 import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO;
 import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO;
 import com.ycl.jxkg.domain.vo.student.exampaper.UserAnswerPageResponseVO;
+import com.ycl.jxkg.domain.vo.student.wrong.CheckWrongVO;
 import com.ycl.jxkg.domain.vo.student.wrong.WrongRequestVo;
 import com.ycl.jxkg.domain.vo.student.wrong.WrongResponseVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import javax.validation.Valid;
 import java.util.Date;
 import java.util.List;
 
@@ -37,5 +39,6 @@
 
     List<ExamPaperScore> selectByUserId(Integer userId);
 
-    List<WrongResponseVO> selectWrong(WrongRequestVo wrongRequestVo);
+
+    ExamPaperScore checkWrong(@Valid CheckWrongVO model);
 }
diff --git a/src/main/resources/mapper/ExamPaperScoreMapper.xml b/src/main/resources/mapper/ExamPaperScoreMapper.xml
index 0c5d29f..ab1d0fa 100644
--- a/src/main/resources/mapper/ExamPaperScoreMapper.xml
+++ b/src/main/resources/mapper/ExamPaperScoreMapper.xml
@@ -176,7 +176,19 @@
         from t_exam_paper_score
         where user_id = #{userId}
     </select>
-    <select id="selectWrong" resultType="com.ycl.jxkg.domain.vo.student.wrong.WrongResponseVO">
-        
+    <select id="checkWrong" resultType="com.ycl.jxkg.domain.entity.ExamPaperScore">
+        SELECT
+            <include refid="Base_Column_List"/>
+        from t_exam_paper_score AS eps,
+             JSON_TABLE(paper_content, '$[*]' COLUMNS(
+                 questionType INT PATH '$.questionType',
+                 questionId INT PATH '$.questionList[*].questionId'
+        )) AS pc
+        <where>
+            eps.exam_id = #{examId}
+            AND eps.user_id = #{userId}
+            AND pc.questionType = #{questionType}
+            AND pc.questionId = #{questionId}
+        </where>
     </select>
 </mapper>

--
Gitblit v1.8.0