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