From 0057ef145ab05b6c34802deb4ff575f975b6283a Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 16 五月 2024 18:19:15 +0800
Subject: [PATCH] feat:部门管理员功能权限控制
---
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java | 62 +++++++++++++++++++++++++++---
1 files changed, 55 insertions(+), 7 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 0f7dfc1..892f2e3 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -1,22 +1,33 @@
package com.mindskip.xzs.controller.admin;
+import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
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.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.viewmodel.admin.exam.ExamPaperPageRequestVM;
+import com.mindskip.xzs.utility.excel.ExcelUtils;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
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.Collections;
+import java.util.List;
+import java.util.Objects;
@RestController("AdminExamPaperController")
@RequestMapping(value = "/api/admin/exam/paper")
@@ -25,16 +36,22 @@
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.setDeptIds(isDeptAdmin() ? getAdminDeptIds() : null);
+ if (Objects.nonNull(model.getLevel())) {
+ model.setDeptIds(Collections.singletonList(model.getLevel()));
+ }
model.setType("0");
PageInfo<ExamPaper> pageInfo = examPaperService.page(model);
PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> {
@@ -66,15 +83,33 @@
@RequestMapping(value = "/edit", method = RequestMethod.POST)
- public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception {
+ public RestResponse<ExamPaperEditRequestVO> 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());
+ ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
+
return RestResponse.ok(newVM);
}
+ /**
+ * 琛ヨ��
+ * @param model 鏁版嵁
+ * @return 鎿嶄綔缁撴灉
+ */
+ @RequestMapping(value = "/missExam", method = RequestMethod.POST)
+ public RestResponse<String> missExam(@RequestBody ExamPaperEditRequestVM model) {
+ examPaperService.missExam(model);
+ return RestResponse.ok("鎿嶄綔鎴愬姛");
+ }
+
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
- public RestResponse<ExamPaperEditRequestVM> select(@PathVariable Integer id) {
- ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(id);
+ public RestResponse<ExamPaperEditRequestVO> select(@PathVariable Integer id) {
+ ExamPaperEditRequestVO vm = examPaperService.examPaperToVM(id);
return RestResponse.ok(vm);
}
@@ -87,4 +122,17 @@
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);
+ }
+
+ @RequestMapping(value = "/list", method = RequestMethod.GET)
+ public RestResponse<List<ExamPaper>> list() {
+ List<Integer> deptIds = isDeptAdmin() ? getAdminDeptIds() : null;
+ return RestResponse.ok(examPaperService.list(deptIds));
+ }
}
--
Gitblit v1.8.0