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