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/ExamPaperController.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java index 9ec1659..0ca9dc8 100644 --- a/src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java +++ b/src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java @@ -3,8 +3,13 @@ import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.domain.ExamPaper; +import com.mindskip.xzs.domain.ExamPaperDepartment; +import com.mindskip.xzs.domain.ExamPaperUser; +import com.mindskip.xzs.domain.User; import com.mindskip.xzs.service.ExamPaperAnswerService; +import com.mindskip.xzs.service.ExamPaperDepartmentService; import com.mindskip.xzs.service.ExamPaperService; +import com.mindskip.xzs.service.ExamPaperUserService; import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.PageInfoHelper; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM; @@ -16,6 +21,9 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; @RestController("StudentExamPaperController") @RequestMapping(value = "/api/student/exam/paper") @@ -24,12 +32,16 @@ private final ExamPaperService examPaperService; private final ExamPaperAnswerService examPaperAnswerService; private final ApplicationEventPublisher eventPublisher; + private final ExamPaperUserService examPaperUserService; + private final ExamPaperDepartmentService examPaperDepartmentService; @Autowired - public ExamPaperController(ExamPaperService examPaperService, ExamPaperAnswerService examPaperAnswerService, ApplicationEventPublisher eventPublisher) { + public ExamPaperController(ExamPaperService examPaperService, ExamPaperAnswerService examPaperAnswerService, ApplicationEventPublisher eventPublisher, ExamPaperUserService examPaperUserService, ExamPaperDepartmentService examPaperDepartmentService) { this.examPaperService = examPaperService; this.examPaperAnswerService = examPaperAnswerService; this.eventPublisher = eventPublisher; + this.examPaperUserService = examPaperUserService; + this.examPaperDepartmentService = examPaperDepartmentService; } @@ -43,11 +55,43 @@ @RequestMapping(value = "/pageList", method = RequestMethod.POST) public RestResponse<PageInfo<ExamPaperPageResponseVM>> pageList(@RequestBody @Valid ExamPaperPageVM model) { PageInfo<ExamPaper> pageInfo = examPaperService.studentPage(model); + User user = getCurrentUser(); PageInfo<ExamPaperPageResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { - ExamPaperPageResponseVM vm = modelMapper.map(e, ExamPaperPageResponseVM.class); - vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); - return vm; + Integer[] ids = examPaperDepartmentService.getByExamPaperId(e.getId()) + .stream().map(ExamPaperDepartment::getDepartmentId).toArray(Integer[]::new); + if (Arrays.asList(ids).contains(user.getUserLevel())) { + ExamPaperPageResponseVM vm = modelMapper.map(e, ExamPaperPageResponseVM.class); + vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); + return vm; + } + return null; }); + Integer[] userIds = examPaperUserService.getByUserId(user.getId()) + .stream().map(ExamPaperUser::getExamPaperId).toArray(Integer[]::new); + + if (userIds.length > 0) { + List<ExamPaper> papers = examPaperService.gets(userIds); + pageInfo.getList().addAll(papers); + } + page.setList(page.getList().stream().filter(e -> e != null).collect(Collectors.toList())); return RestResponse.ok(page); } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception { + ExamPaperUser examPaperUser = new ExamPaperUser(); + User user = getCurrentUser(); + model.setDepartmentIds(new Integer[0]); + model.setPaperType(7); + ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser()); + + examPaperUser.setExamPaperId(examPaper.getId()); + examPaperUser.setUserId(user.getId()); + examPaperUser.setDeleted("0"); + examPaperUserService.add(examPaperUser); + + + ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId()); + return RestResponse.ok(newVM); + } } -- Gitblit v1.8.0