package com.mindskip.xzs.controller.admin;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.mindskip.xzs.base.BaseApiController;
|
import com.mindskip.xzs.base.RestResponse;
|
import com.mindskip.xzs.context.WebContext;
|
import com.mindskip.xzs.domain.ExamPaperAnswer;
|
import com.mindskip.xzs.domain.User;
|
import com.mindskip.xzs.domain.UserDepartment;
|
import com.mindskip.xzs.repository.DepartmentMapper;
|
import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
|
import com.mindskip.xzs.repository.UserDepartmentMapper;
|
import com.mindskip.xzs.repository.UserMapper;
|
import com.mindskip.xzs.service.*;
|
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradeQuery;
|
import lombok.RequiredArgsConstructor;
|
import org.apache.commons.lang3.ObjectUtils;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.List;
|
|
@RestController("AdminExamPaperGradeController")
|
@RequestMapping(value = "/api/admin/examPaperGrade")
|
@RequiredArgsConstructor
|
public class ExamPaperGradeController extends BaseApiController {
|
|
private final ExamPaperAnswerService examPaperAnswerService;
|
private final SubjectService subjectService;
|
private final UserService userService;
|
private final UserMapper userMapper;
|
private final ExamPaperSubjectService examPaperSubjectService;
|
private final ScoreTemplatesUserCountService scoreTemplatesUserCountService;
|
private final ExamPaperUserService examPaperUserService;
|
private final UserDepartMentService userDepartMentService;
|
private final UserDepartmentMapper userDepartmentMapper;
|
private final ExamPaperAnswerMapper examPaperAnswerMapper;
|
private final WebContext webContext;
|
private final DepartmentMapper departmentMapper;
|
|
|
|
// @RequestMapping(value = "/page", method = RequestMethod.POST)
|
// public RestResponse<PageInfo<ExamPaperAnswerPageResponseVM>> pageJudgeList(@RequestBody ExamPaperGradePageRequestVM grade) {
|
// PageInfo<ExamPaperAnswer> pageInfo = examPaperAnswerService.adminPageByGrade(grade);
|
// PageInfo<ExamPaperAnswerPageResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> {
|
// ExamPaperAnswerPageResponseVM vm = modelMapper.map(e, ExamPaperAnswerPageResponseVM.class);
|
// User user = userService.selectByIdName(e.getCreateUser(), grade.getUserName());
|
// if (user == null) {
|
// return null;
|
// }
|
// ExamPaperAnswer examPaperAnswer = examPaperAnswerService.getById(vm.getId());
|
// Integer[] ids = examPaperSubjectService.getByExamPaperId(examPaperAnswer.getExamPaperId())
|
// .stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new);
|
// String name = "";
|
// if (ids.length > 0) {
|
// name = subjectService.selectByIds(ids)
|
// .stream().map(Subject::getName).collect(Collectors.joining(","));
|
// }
|
// Integer userId = examPaperUserService.getByPaperIdAndCreatUser(e.getExamPaperId(),e.getCreateUser());
|
// if(userId == null){
|
// return null;
|
// }
|
// vm.setCreateUser(e.getCreateUser());
|
// vm.setUserId(userId);
|
// vm.setSubjectName(name);
|
// vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
|
// vm.setUserName(user.getRealName());
|
// return vm;
|
// });
|
// List<ExamPaperAnswerPageResponseVM> list = page.getList();
|
// List<ExamPaperAnswerPageResponseVM> filteredList = list.stream()
|
// .filter(exam -> exam != null)
|
// .collect(Collectors.toList());
|
// ArrayList<ExamPaperAnswerPageResponseVM> list2 = new ArrayList<>();
|
// Map<String, Long> collect = filteredList.stream().collect(Collectors.groupingBy(ExamPaperAnswerPageResponseVM::getPaperName, Collectors.counting()));
|
// filteredList.forEach(vm -> vm.setCounts(Math.toIntExact(collect.getOrDefault(vm.getPaperName(), 0L))));
|
// Map<String, List<ExamPaperAnswerPageResponseVM>> collect1 = filteredList.stream().collect(Collectors.groupingBy(ExamPaperAnswerPageResponseVM::getUserName));
|
// List<ExamPaperAnswerPageResponseVM> filteredList1 = new ArrayList<>();
|
// Set<String> uniqueUserNames = new HashSet<>();
|
// collect1.forEach((key, value) -> {
|
// value.forEach(item -> {
|
// item.setUserName(key);
|
// item.setCounts(value.size());
|
// });
|
// list2.addAll(value);
|
// });
|
// for (ExamPaperAnswerPageResponseVM item : list2) {
|
// if (uniqueUserNames.add(item.getUserName())) {
|
// filteredList1.add(item);
|
// }
|
// }
|
// page.setList(filteredList1);
|
// return RestResponse.ok(page);
|
// }
|
|
@RequestMapping(value = "/page", method = RequestMethod.POST)
|
public RestResponse<PageInfo<ExamPaperAnswer>> pageJudgeList(@RequestBody ExamPaperGradeQuery query) {
|
// 如果是部门管理员,需要做数据权限
|
query.setDeptId(ObjectUtils.isNotEmpty(query.getDeptId()) ? query.getDeptId() : getAdminDeptIds());
|
query.setFullTime();
|
// 查询
|
PageInfo<ExamPaperAnswer> info = PageHelper.startPage(query.getPageIndex(), query.getPageSize()).doSelectPageInfo(() ->
|
userMapper.getUserByDept(query));
|
return RestResponse.ok(info);
|
}
|
|
@RequestMapping(value = "/details", method = RequestMethod.POST)
|
public RestResponse<PageInfo<ExamPaperAnswer>> selectSource(@RequestBody ExamPaperGradeQuery query) throws Exception {
|
return RestResponse.ok(examPaperAnswerService.getByCreatUser(query));
|
|
}
|
|
@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 = new UserDepartment();
|
userDepartment.setUserId(id);
|
userDepartment.setDepartmentId(userLevel);
|
userDepartMentService.insert(userDepartment);
|
}
|
}
|
|
|
}
|