From 77be36cc9077b09186e69440f3204f9e623c335a Mon Sep 17 00:00:00 2001
From: qirong <2032486488@qq.com>
Date: 星期一, 26 六月 2023 15:52:24 +0800
Subject: [PATCH] 试卷题目顺序打乱

---
 src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java b/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java
index de62a9d..a703e38 100644
--- a/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java
+++ b/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java
@@ -2,14 +2,9 @@
 
 import com.mindskip.xzs.base.BaseApiController;
 import com.mindskip.xzs.base.RestResponse;
-import com.mindskip.xzs.domain.ExamPaperQuestionCustomerAnswer;
-import com.mindskip.xzs.domain.Subject;
-import com.mindskip.xzs.domain.TextContent;
+import com.mindskip.xzs.domain.*;
 import com.mindskip.xzs.domain.question.QuestionObject;
-import com.mindskip.xzs.service.ExamPaperQuestionCustomerAnswerService;
-import com.mindskip.xzs.service.QuestionService;
-import com.mindskip.xzs.service.SubjectService;
-import com.mindskip.xzs.service.TextContentService;
+import com.mindskip.xzs.service.*;
 import com.mindskip.xzs.utility.DateTimeUtil;
 import com.mindskip.xzs.utility.HtmlUtil;
 import com.mindskip.xzs.utility.JsonUtil;
@@ -23,6 +18,9 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 @RestController("StudentQuestionAnswerController")
 @RequestMapping(value = "/api/student/question/answer")
 public class QuestionAnswerController extends BaseApiController {
@@ -31,13 +29,15 @@
     private final QuestionService questionService;
     private final TextContentService textContentService;
     private final SubjectService subjectService;
+    private final QuestionSubjectService questionSubjectService;
 
     @Autowired
-    public QuestionAnswerController(ExamPaperQuestionCustomerAnswerService examPaperQuestionCustomerAnswerService, QuestionService questionService, TextContentService textContentService, SubjectService subjectService) {
+    public QuestionAnswerController(ExamPaperQuestionCustomerAnswerService examPaperQuestionCustomerAnswerService, QuestionService questionService, TextContentService textContentService, SubjectService subjectService, QuestionSubjectService questionSubjectService) {
         this.examPaperQuestionCustomerAnswerService = examPaperQuestionCustomerAnswerService;
         this.questionService = questionService;
         this.textContentService = textContentService;
         this.subjectService = subjectService;
+        this.questionSubjectService = questionSubjectService;
     }
 
     @RequestMapping(value = "/page", method = RequestMethod.POST)
@@ -45,14 +45,21 @@
         model.setCreateUser(getCurrentUser().getId());
         PageInfo<ExamPaperQuestionCustomerAnswer> pageInfo = examPaperQuestionCustomerAnswerService.studentPage(model);
         PageInfo<QuestionPageStudentResponseVM> page = PageInfoHelper.copyMap(pageInfo, q -> {
-            Subject subject = subjectService.selectById(q.getSubjectId());
+//            Subject subject = subjectService.selectById(q.getSubjectId());
+            Integer[] ids = questionSubjectService.getQuestion(q.getQuestionId())
+                    .stream().map(QuestionSubject::getSubjectId).toArray(Integer[]::new);
+            String name = "";
+            if (ids.length > 0) {
+                name = subjectService.selectByIds(ids)
+                        .stream().map(Subject::getName).collect(Collectors.joining(","));
+            }
             QuestionPageStudentResponseVM vm = modelMapper.map(q, QuestionPageStudentResponseVM.class);
             vm.setCreateTime(DateTimeUtil.dateFormat(q.getCreateTime()));
             TextContent textContent = textContentService.selectById(q.getQuestionTextContentId());
             QuestionObject questionObject = JsonUtil.toJsonObject(textContent.getContent(), QuestionObject.class);
             String clearHtml = HtmlUtil.clear(questionObject.getTitleContent());
             vm.setShortTitle(clearHtml);
-            vm.setSubjectName(subject.getName());
+            vm.setSubjectName(name);
             return vm;
         });
         return RestResponse.ok(page);

--
Gitblit v1.8.0