From c50e176c4a6b9331d2d1c0520bafb18f54f0dee6 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 08 三月 2024 17:35:10 +0800 Subject: [PATCH] 部门增加管理员 --- src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java index 2386435..f07bf1c 100644 --- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java +++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java @@ -4,19 +4,28 @@ import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.domain.ExamPaper; import com.mindskip.xzs.domain.ExamPaperSubject; +import com.mindskip.xzs.domain.vo.PaperExcelVO; +import com.mindskip.xzs.domain.vo.UserCountExcelVO; import com.mindskip.xzs.service.ExamPaperDepartmentService; import com.mindskip.xzs.service.ExamPaperService; import com.mindskip.xzs.service.ExamPaperSubjectService; +import com.mindskip.xzs.service.ExamTemplatesUserCountService; import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.PageInfoHelper; +import com.mindskip.xzs.utility.excel.ExcelUtils; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM; import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM; import com.github.pagehelper.PageInfo; +import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Arrays; +import java.util.List; @RestController("AdminExamPaperController") @RequestMapping(value = "/api/admin/exam/paper") @@ -25,16 +34,19 @@ private final ExamPaperService examPaperService; private final ExamPaperSubjectService examPaperSubjectService; private final ExamPaperDepartmentService examPaperDepartmentService; + private final ExamTemplatesUserCountService examTemplatesUserCountService; @Autowired - public ExamPaperController(ExamPaperService examPaperService, ExamPaperSubjectService examPaperSubjectService, ExamPaperDepartmentService examPaperDepartmentService) { + public ExamPaperController(ExamPaperService examPaperService, ExamPaperSubjectService examPaperSubjectService, ExamPaperDepartmentService examPaperDepartmentService, ExamTemplatesUserCountService examTemplatesUserCountService) { this.examPaperService = examPaperService; this.examPaperSubjectService = examPaperSubjectService; this.examPaperDepartmentService = examPaperDepartmentService; + this.examTemplatesUserCountService = examTemplatesUserCountService; } @RequestMapping(value = "/page", method = RequestMethod.POST) public RestResponse<PageInfo<ExamResponseVM>> pageList(@RequestBody ExamPaperPageRequestVM model) { + model.setType("0"); PageInfo<ExamPaper> pageInfo = examPaperService.page(model); PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); @@ -54,6 +66,9 @@ PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); + Integer[] ids = examPaperSubjectService.getByExamPaperId(vm.getId()) + .stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new); + vm.setSubjectId(ids); return vm; }); return RestResponse.ok(page); @@ -62,7 +77,13 @@ @RequestMapping(value = "/edit", method = RequestMethod.POST) - public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) { + public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception { + Object[] obj = Arrays.stream(model.getUserIds()).sorted().distinct().toArray(); + Integer[] userIds = new Integer[obj.length]; + for(int i = 0;i<obj.length;i++) { + userIds[i] = (Integer)obj[i]; + } + model.setUserIds(userIds); ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser()); ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId()); return RestResponse.ok(newVM); @@ -83,4 +104,11 @@ examPaperSubjectService.removeByExamPaperId(id); return RestResponse.ok(); } + + @RequestMapping(value = "/exportTemplatesId/{id}", method = RequestMethod.GET) + @SneakyThrows + public void exportTemplatesId(@PathVariable("id") Integer id, HttpServletResponse response, HttpServletRequest request) { + List<PaperExcelVO> list = examPaperService.getPaperExcelById(id); + ExcelUtils.export(response,"涓汉缁冧範",list,PaperExcelVO.class); + } } -- Gitblit v1.8.0