From b661bcf7e065092c876e052bad0bfaecb9dc0c17 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期二, 12 十一月 2024 21:21:06 +0800
Subject: [PATCH] 优化错题查询

---
 src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
index 1a77e99..fe69d1a 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -1008,7 +1008,7 @@
         if (!org.springframework.util.CollectionUtils.isEmpty(examPaperMark.getTitleItems())) {
             examPaperScore.setPaperContent(JSON.toJSONString(examPaperMark.getTitleItems()));
             // 淇濆瓨绛旈璁板綍
-            this.saveQuestionAnswerRecord(examPaperMark.getUserId(), examPaperMark.getTitleItems());
+            this.saveQuestionAnswerRecord(examPaperMark.getUserId(), examPaperMark.getTitleItems(), examPaperMark.getExamId(), examPaperMark.getPaperId());
         }
         if (!org.springframework.util.CollectionUtils.isEmpty(examPaperMark.getNavbar())) {
             examPaperScore.setNavbar(JSON.toJSONString(examPaperMark.getNavbar()));
@@ -1053,14 +1053,19 @@
      *
      * @param titleItems
      */
-    private void saveQuestionAnswerRecord(Integer studentUserId, List<PaperFixQuestionVO> titleItems) {
+    private void saveQuestionAnswerRecord(Integer studentUserId, List<PaperFixQuestionVO> titleItems, Integer examId, Integer paperId) {
+        // 鍒犻櫎鍘熸潵鐨勭瓟棰樿褰�
+        new LambdaUpdateChainWrapper<>(questionAnswerRecordMapper)
+                .eq(QuestionAnswerRecord::getExamId, examId)
+                .eq(QuestionAnswerRecord::getUserId, studentUserId).remove();
         for (PaperFixQuestionVO titleItem : titleItems) {
             for (DoQuestionVO question : titleItem.getQuestionList()) {
                 QuestionAnswerRecord record = new QuestionAnswerRecord();
                 record.setQuestionType(titleItem.getQuestionType());
                 record.setUserId(studentUserId);
                 record.setDoRight(question.getRight());
-                record.setExamId(question.getExamId());
+                record.setExamId(examId);
+                record.setPaperId(paperId);
                 record.setQuestionId(question.getId());
                 record.setScore(question.getScore());
                 record.setUserAnswer(StringUtils.hasText(question.getAnswer()) ? question.getAnswer() : question.getAnswerList().stream().collect(Collectors.joining("銆�")));

--
Gitblit v1.8.0