From f25f4c72105fa60c245e225b7f253e156a44ccb7 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 15 五月 2024 15:35:45 +0800
Subject: [PATCH] refactor:答卷统计返回结果调整
---
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