From 2873f1cd6ea6caac062740e05994a1f0a880ffde Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 12 三月 2024 11:27:20 +0800
Subject: [PATCH] 一个用户只能是一个部门的管理员、创建随机试卷的时候人员只能选当前部门的人,试卷增加部门id
---
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java | 90 +++++++++++++++++---------------------------
1 files changed, 35 insertions(+), 55 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java
index 47a43cc..0469737 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java
@@ -4,8 +4,11 @@
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
-import com.mindskip.xzs.domain.*;
+import com.mindskip.xzs.domain.ExamPaperAnswer;
+import com.mindskip.xzs.domain.User;
+import com.mindskip.xzs.domain.UserDepartment;
import com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO;
+import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
import com.mindskip.xzs.service.*;
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM;
import org.springframework.beans.factory.annotation.Autowired;
@@ -14,8 +17,8 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.List;
@RestController("AdminExamPaperGradeController")
@RequestMapping(value = "/api/admin/examPaperGrade")
@@ -33,8 +36,10 @@
private final UserDepartMentService userDepartMentService;
+ private final ExamPaperAnswerMapper examPaperAnswerMapper;
+
@Autowired
- public ExamPaperGradeController(ExamPaperAnswerService examPaperAnswerService, SubjectService subjectService, UserService userService, ExamPaperSubjectService examPaperSubjectService, ScoreTemplatesUserCountService scoreTemplatesUserCountService,ExamPaperUserService examPaperUserService,UserDepartMentService userDepartMentService) {
+ public ExamPaperGradeController(ExamPaperAnswerService examPaperAnswerService, SubjectService subjectService, UserService userService, ExamPaperSubjectService examPaperSubjectService, ScoreTemplatesUserCountService scoreTemplatesUserCountService, ExamPaperUserService examPaperUserService, UserDepartMentService userDepartMentService, ExamPaperAnswerMapper examPaperAnswerMapper) {
this.examPaperAnswerService = examPaperAnswerService;
this.subjectService = subjectService;
this.userService = userService;
@@ -42,6 +47,7 @@
this.scoreTemplatesUserCountService = scoreTemplatesUserCountService;
this.examPaperUserService = examPaperUserService;
this.userDepartMentService = userDepartMentService;
+ this.examPaperAnswerMapper = examPaperAnswerMapper;
}
@@ -101,72 +107,46 @@
@RequestMapping(value = "/page", method = RequestMethod.POST)
public RestResponse<PageInfo<ExamPaperAnswer>> pageJudgeList(@RequestBody ExamPaperGradePageRequestVM grade) {
- List<ExamPaperAnswer> list = examPaperAnswerService.adminPageByGrade(grade);
- for (ExamPaperAnswer e : list) {
- User user = userService.selectByIdName(e.getCreateUser(), grade.getUserName());
- if (user==null){
- return null;
+ List<ExamPaperAnswer> filteredList9 = new ArrayList<>();
+ PageInfo<User> info = PageHelper.startPage(grade.getPageIndex(), grade.getPageSize(), "id desc").doSelectPageInfo(() ->
+ userService.getUsers());
+ for (User user : info.getList()) {
+ if("绠$悊鍛�".equals(user.getRealName())){
+ continue;
}
- ExamPaperAnswer examPaperAnswer = examPaperAnswerService.getById(e.getId());
- Integer[] ids = examPaperSubjectService.getByExamPaperId(examPaperAnswer.getExamPaperId()).stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new);
- String names = "";
- if (ids.length > 0) {
- names = subjectService.selectByIds(ids)
- .stream().map(Subject::getName).collect(Collectors.joining(","));
- }
- Integer userId = examPaperUserService.getByPaperIdAndCreatUser(e.getExamPaperId(), e.getCreateUser());
- if(userId == null){
- return null;
- }
- e.setUserName(user.getRealName());
- }
- List<ExamPaperAnswer> collect = list.stream()
- .filter(exam -> exam != null)
- .collect(Collectors.toList());
- ArrayList<ExamPaperAnswer> list2 = new ArrayList<>();
- Map<String, Long> collect1 = collect.stream().collect(Collectors.groupingBy(ExamPaperAnswer::getPaperName, Collectors.counting()));
- collect.forEach(t->t.setCounts(Math.toIntExact(collect1.getOrDefault(t.getPaperName(),0L))));
- Map<String, List<ExamPaperAnswer>> collect2 = collect.stream().collect(Collectors.groupingBy(ExamPaperAnswer::getUserName));
- List<ExamPaperAnswer> filteredList1 = new ArrayList<>();
- Set<String> uniqueUserNames = new HashSet<>();
- collect2.forEach((key, value) -> {
- value.forEach(item -> {
- item.setUserName(key);
- item.setCounts(value.size());
- });
- list2.addAll(value);
- });
- for (ExamPaperAnswer item : list2) {
- if (uniqueUserNames.add(item.getUserName())) {
- filteredList1.add(item);
- }
+ ExamPaperAnswer answer = new ExamPaperAnswer();
+ answer.setCreateUser(user.getId());
+ answer.setUserName(user.getRealName());
+ ScoreTemplatesCountVO vo = new ScoreTemplatesCountVO();
+ vo.setCreateUser(user.getId());
+ List<ExamPaperAnswer> byCreatUser = examPaperAnswerMapper.getByCreatUser(vo);
+ answer.setCounts(byCreatUser.size());
+ filteredList9.add(answer);
}
PageHelper.startPage(grade.getPageIndex(), grade.getPageSize());
- PageInfo<ExamPaperAnswer> pageInfoPageInfo = new PageInfo<>(filteredList1);
+ PageInfo<ExamPaperAnswer> pageInfoPageInfo = new PageInfo<>(filteredList9);
+ pageInfoPageInfo.setTotal(info.getTotal());
return RestResponse.ok(pageInfoPageInfo);
}
@RequestMapping(value = "/details", method = RequestMethod.POST)
public RestResponse<PageInfo<ExamPaperAnswer>> selectSource(@RequestBody ScoreTemplatesCountVO scoreTemplatesCountVO) throws Exception {
- PageHelper.startPage(scoreTemplatesCountVO.getPageIndex(), scoreTemplatesCountVO.getPageSize());
- List<ExamPaperAnswer> byCreatUser = examPaperAnswerService.getByCreatUser(scoreTemplatesCountVO);
- PageInfo<ExamPaperAnswer> pageInfoPageInfo = new PageInfo<>(byCreatUser);
- return RestResponse.ok(pageInfoPageInfo);
+ return RestResponse.ok(examPaperAnswerService.getByCreatUser(scoreTemplatesCountVO));
+
}
- @RequestMapping(value = "/updates", method = RequestMethod.POST)
- public void updateDepartment(){
+
+ @RequestMapping(value = "/updates", method = RequestMethod.GET)
+ public void updateDepartment() {
List<User> users = userService.getUsers();
for (User user : users) {
Integer id = user.getId();
Integer userLevel = user.getUserLevel();
- UserDepartment userDepartment = userDepartMentService.selectByUser(id);
- if (userDepartment!=null){
- userDepartment.setDepartmentId(userLevel);
- userDepartMentService.updateUserDepartMent(userDepartment);
- }
+ UserDepartment userDepartment = new UserDepartment();
+ userDepartment.setUserId(id);
+ userDepartment.setDepartmentId(userLevel);
+ userDepartMentService.insert(userDepartment);
}
}
-
}
--
Gitblit v1.8.0