From ccca8c65b3c76a9021a471a3667d61d965a4f2cb Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期六, 11 五月 2024 18:04:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 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..8e13452 100644 --- a/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java +++ b/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java @@ -2,26 +2,26 @@ 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; import com.mindskip.xzs.utility.PageInfoHelper; +import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO; import com.mindskip.xzs.viewmodel.admin.question.QuestionEditRequestVM; import com.mindskip.xzs.viewmodel.student.exam.ExamPaperSubmitItemVM; import com.mindskip.xzs.viewmodel.student.question.answer.QuestionAnswerVM; +import com.mindskip.xzs.viewmodel.student.question.answer.QuestionAnswerVO; import com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentRequestVM; import com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentResponseVM; import com.github.pagehelper.PageInfo; 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") @@ -31,13 +31,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 +47,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); @@ -60,11 +69,11 @@ @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) - public RestResponse<QuestionAnswerVM> select(@PathVariable Integer id) { - QuestionAnswerVM vm = new QuestionAnswerVM(); + public RestResponse<QuestionAnswerVO> select(@PathVariable Integer id) { + QuestionAnswerVO vm = new QuestionAnswerVO(); ExamPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer = examPaperQuestionCustomerAnswerService.selectById(id); ExamPaperSubmitItemVM questionAnswerVM = examPaperQuestionCustomerAnswerService.examPaperQuestionCustomerAnswerToVM(examPaperQuestionCustomerAnswer); - QuestionEditRequestVM questionVM = questionService.getQuestionEditRequestVM(examPaperQuestionCustomerAnswer.getQuestionId()); + ExamQuestionVO questionVM = questionService.getQuestionEditRequestVM(examPaperQuestionCustomerAnswer.getQuestionId()); vm.setQuestionVM(questionVM); vm.setQuestionAnswerVM(questionAnswerVM); return RestResponse.ok(vm); -- Gitblit v1.8.0