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/ExamTemplatesController.java | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java index 8cf0316..627c892 100644 --- a/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java +++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java @@ -1,43 +1,63 @@ package com.mindskip.xzs.controller.admin; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; 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.ExamPaper; import com.mindskip.xzs.domain.ExamTemplates; import com.mindskip.xzs.domain.ExamTemplatesSubject; import com.mindskip.xzs.domain.User; import com.mindskip.xzs.domain.vo.ExamTemplatesVO; +import com.mindskip.xzs.repository.DepartmentMapper; import com.mindskip.xzs.repository.ExamTemplatesSubjectMapper; +import com.mindskip.xzs.repository.UserDepartmentMapper; import com.mindskip.xzs.service.ExamTemplatesService; import com.mindskip.xzs.utility.PageInfoHelper; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; +import java.util.Objects; @RestController("AdminExamTemplatesController") @RequestMapping(value = "/api/admin/exam/templates") +@RequiredArgsConstructor public class ExamTemplatesController extends BaseApiController { private final ExamTemplatesService examTemplatesService; private final ExamTemplatesSubjectMapper examTemplatesSubjectMapper; - - public ExamTemplatesController(ExamTemplatesService examTemplatesService, ExamTemplatesSubjectMapper examTemplatesSubjectMapper) { - this.examTemplatesService = examTemplatesService; - this.examTemplatesSubjectMapper = examTemplatesSubjectMapper; - } + private final WebContext webContext; + private final DepartmentMapper departmentMapper; @RequestMapping(value = "/edit", method = RequestMethod.POST) public RestResponse edit(@RequestBody @Valid ExamPaperEditRequestVM model) { + User currentUser = webContext.getCurrentUser(); + if (Objects.nonNull(currentUser)) { + // 濡傛灉鏄儴闂ㄧ鐞嗗憳锛岄渶瑕佸仛鏁版嵁鏉冮檺 + if ("1".equals(currentUser.getDeptAdmin())) { + Integer deptId = departmentMapper.selectByAdminId(currentUser.getId()); + model.setDeptId(deptId); + } + } examTemplatesService.add(model); return RestResponse.ok(); } @RequestMapping(value = "/list", method = RequestMethod.GET) public RestResponse<PageInfo<ExamTemplatesVO>> list(ExamTemplatesVO examTemplatesVO) throws Exception { + User currentUser = webContext.getCurrentUser(); + if (Objects.nonNull(currentUser)) { + // 濡傛灉鏄儴闂ㄧ鐞嗗憳锛岄渶瑕佸仛鏁版嵁鏉冮檺 + if ("1".equals(currentUser.getDeptAdmin())) { + Integer deptId = departmentMapper.selectByAdminId(currentUser.getId()); + examTemplatesVO.setDeptId(deptId); + } + } PageInfo<ExamTemplates> pageInfo = examTemplatesService.getByadmins(examTemplatesVO); PageInfo<ExamTemplatesVO> info = PageInfoHelper.copyMap(pageInfo, e -> { ExamTemplatesVO vo = new ExamTemplatesVO(); -- Gitblit v1.8.0