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/utility/convert/ExamTemplatesClassConvert.java      |    1 
 src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java             |   27 +-
 src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java                      |   73 --------
 src/main/java/com/mindskip/xzs/domain/ExamTemplates.java                           |   93 -----------
 src/main/java/com/mindskip/xzs/configuration/spring/exception/ExceptionHandle.java |    7 
 src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java       |   30 +++
 src/main/resources/mapper/DepartmentMapper.xml                                     |    9 +
 src/main/resources/mapper/ExamTemplatesMapper.xml                                  |    5 
 src/main/java/com/mindskip/xzs/controller/admin/DepartmentController.java          |   26 ++-
 src/main/java/com/mindskip/xzs/service/DepartmentService.java                      |    2 
 src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java          |    1 
 src/main/java/com/mindskip/xzs/repository/DepartmentMapper.java                    |   13 +
 src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVM.java    |  178 +---------------------
 13 files changed, 107 insertions(+), 358 deletions(-)

diff --git a/src/main/java/com/mindskip/xzs/configuration/spring/exception/ExceptionHandle.java b/src/main/java/com/mindskip/xzs/configuration/spring/exception/ExceptionHandle.java
index 9eaa2f1..5c5acef 100644
--- a/src/main/java/com/mindskip/xzs/configuration/spring/exception/ExceptionHandle.java
+++ b/src/main/java/com/mindskip/xzs/configuration/spring/exception/ExceptionHandle.java
@@ -75,4 +75,11 @@
         logger.error(e.getMessage(), e);
         return new RestResponse<>(SystemCode.QuestionError.getCode(), SystemCode.QuestionError.getMessage());
     }
+
+    @ExceptionHandler(RuntimeException.class)
+    @ResponseBody
+    public RestResponse handlerRuntimeException(RuntimeException e) {
+        logger.error(e.getMessage(), e);
+        return new RestResponse<>(SystemCode.InnerError.getCode(), e.getMessage());
+    }
 }
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/DepartmentController.java b/src/main/java/com/mindskip/xzs/controller/admin/DepartmentController.java
index ded0bc5..103f7e8 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/DepartmentController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/DepartmentController.java
@@ -10,28 +10,35 @@
 import com.mindskip.xzs.domain.vo.DepartmentVO;
 import com.mindskip.xzs.domain.vo.UpdateDeptAdminVO;
 import com.mindskip.xzs.domain.vo.UserVO;
+import com.mindskip.xzs.repository.DepartmentMapper;
 import com.mindskip.xzs.repository.UserDepartmentMapper;
 import com.mindskip.xzs.service.DepartmentService;
 import com.mindskip.xzs.service.UserService;
 import com.mindskip.xzs.utility.PageInfoHelper;
 import com.mindskip.xzs.viewmodel.admin.department.DepartmentResponseVM;
+import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 
 @RestController("AdminDepartmentController")
 @RequestMapping("/api/admin/department")
+@RequiredArgsConstructor
 public class DepartmentController extends BaseApiController {
 
 
     private final DepartmentService departmentService;
     private final UserService userService;
     private final UserDepartmentMapper userDepartmentMapper;
+    private final DepartmentMapper departmentMapper;
+
+
 
     /**
      * 鑾峰彇閮ㄩ棬涓嬬敤鎴峰垪琛�(涓嬫媺)
@@ -51,16 +58,9 @@
         return RestResponse.ok();
     }
 
-    @Autowired
-    public DepartmentController(DepartmentService departmentService, UserService userService, UserDepartmentMapper userDepartmentMapper) {
-        this.departmentService = departmentService;
-        this.userService = userService;
-        this.userDepartmentMapper = userDepartmentMapper;
-    }
-
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     public RestResponse<List<Department>> getAll(){
-        List<Department> res = departmentService.gets();
+        List<Department> res = departmentService.gets(-1);
         return RestResponse.ok(res);
     }
 
@@ -93,7 +93,15 @@
 
     @RequestMapping(value = "/getDepartmentUser", method = RequestMethod.POST)
     public RestResponse<List<DepartmentVO>> getUserDepartment(){
-        List<DepartmentVO> res = departmentService.gets()
+        User currentUser = webContext.getCurrentUser();
+        Integer deptId = null;
+        if (Objects.nonNull(currentUser)) {
+            // 濡傛灉鏄儴闂ㄧ鐞嗗憳锛岄渶瑕佸仛鏁版嵁鏉冮檺
+            if ("1".equals(currentUser.getDeptAdmin())) {
+                deptId = departmentMapper.selectByAdminId(currentUser.getId());
+            }
+        }
+        List<DepartmentVO> res = departmentService.gets(deptId)
                 .stream().map(e->{
                     DepartmentVO departmentVO = new DepartmentVO();
                     List<UserDepartment> userDepartments = userDepartmentMapper.selectByDepartmentId(e.getId());
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();
diff --git a/src/main/java/com/mindskip/xzs/domain/ExamTemplates.java b/src/main/java/com/mindskip/xzs/domain/ExamTemplates.java
index ca587ed..bacf938 100644
--- a/src/main/java/com/mindskip/xzs/domain/ExamTemplates.java
+++ b/src/main/java/com/mindskip/xzs/domain/ExamTemplates.java
@@ -1,10 +1,13 @@
 package com.mindskip.xzs.domain;
 
+import lombok.Data;
+
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.List;
 
+@Data
 public class ExamTemplates implements Serializable {
 
     private Integer id;
@@ -18,94 +21,6 @@
     private List<String> limitDateTime;
     private Date startTime;
     private Date endTime;
-
-    public Date getStartTime() {
-        return startTime;
-    }
-
-    public void setStartTime(Date startTime) {
-        this.startTime = startTime;
-    }
-
-    public Date getEndTime() {
-        return endTime;
-    }
-
-    public void setEndTime(Date endTime) {
-        this.endTime = endTime;
-    }
-
-    public List<String> getLimitDateTime() {
-        return limitDateTime;
-    }
-
-    public void setLimitDateTime(List<String> limitDateTime) {
-        this.limitDateTime = limitDateTime;
-    }
-
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getPaperType() {
-        return paperType;
-    }
-
-    public void setPaperType(String paperType) {
-        this.paperType = paperType;
-    }
-
-    public String getSuggestTime() {
-        return suggestTime;
-    }
-
-    public void setSuggestTime(String suggestTime) {
-        this.suggestTime = suggestTime;
-    }
-
-    public String getTitleName() {
-        return titleName;
-    }
-
-    public void setTitleName(String titleName) {
-        this.titleName = titleName;
-    }
-
-    public Date getCtime() {
-        return ctime;
-    }
-
-    public void setCtime(Date ctime) {
-        this.ctime = ctime;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public String getMenuIds() {
-        return menuIds;
-    }
-
-    public void setMenuIds(String menuIds) {
-        this.menuIds = menuIds;
-    }
-
+    private Integer deptId;
 
 }
diff --git a/src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java b/src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java
index fcd6c46..81be8aa 100644
--- a/src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java
+++ b/src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java
@@ -3,6 +3,7 @@
 import com.mindskip.xzs.base.BasePage;
 import com.mindskip.xzs.domain.ExamTemplates;
 import com.mindskip.xzs.domain.ExamTemplatesSubject;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -10,6 +11,7 @@
 import java.util.Date;
 import java.util.List;
 
+@Data
 public class ExamTemplatesVO extends BasePage implements Serializable {
 
     private Integer id;
@@ -20,72 +22,9 @@
     private String status;
     private Integer userId;
 
-    public LocalDateTime getNow() {
-        return now;
-    }
+    /**
+     * 閮ㄩ棬ID
+     */
+    private Integer deptId;
 
-    public void setNow(LocalDateTime now) {
-        this.now = now;
-    }
-
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public Date getCtime() {
-        return ctime;
-    }
-
-    public void setCtime(Date ctime) {
-        this.ctime = ctime;
-    }
-
-    public Integer[] getSubjectId() {
-        return subjectId;
-    }
-
-    public void setSubjectId(Integer[] subjectId) {
-        this.subjectId = subjectId;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public Integer getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Integer userId) {
-        this.userId = userId;
-    }
-
-    @Override
-    public String toString() {
-        return "ExamTemplatesVO{" +
-                "id=" + id +
-                ", name='" + name + '\'' +
-                ", ctime=" + ctime +
-                ", now=" + now +
-                ", subjectId=" + Arrays.toString(subjectId) +
-                ", status='" + status + '\'' +
-                ", userId=" + userId +
-                '}';
-    }
 }
diff --git a/src/main/java/com/mindskip/xzs/repository/DepartmentMapper.java b/src/main/java/com/mindskip/xzs/repository/DepartmentMapper.java
index b951949..078fab5 100644
--- a/src/main/java/com/mindskip/xzs/repository/DepartmentMapper.java
+++ b/src/main/java/com/mindskip/xzs/repository/DepartmentMapper.java
@@ -3,6 +3,7 @@
 import com.mindskip.xzs.domain.Department;
 import com.mindskip.xzs.viewmodel.admin.department.DepartmentResponseVM;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -13,7 +14,7 @@
 
     Integer update(Department department);
 
-    List<Department> gets();
+    List<Department> gets(Integer deptId);
 
     List<DepartmentResponseVM> page(DepartmentResponseVM departmentResponseVM);
 
@@ -21,5 +22,13 @@
 
     Department getById(Integer id);
 
-    List<Integer> selectByAdminId(Integer id);
+    Integer selectByAdminId(@Param("userId") Integer userId);
+
+    /**
+     * 鏌ヨ闄や簡id杩欎釜鍗曚綅锛岃鐢ㄦ埛杩樻槸鍑犱釜鍗曚綅鐨勮礋璐d汉
+     * @param userId
+     * @param id
+     * @return
+     */
+    Integer countByAdminId(@Param("userId") Integer userId, @Param("id") Integer id);
 }
diff --git a/src/main/java/com/mindskip/xzs/service/DepartmentService.java b/src/main/java/com/mindskip/xzs/service/DepartmentService.java
index dbbfa41..0abe871 100644
--- a/src/main/java/com/mindskip/xzs/service/DepartmentService.java
+++ b/src/main/java/com/mindskip/xzs/service/DepartmentService.java
@@ -40,7 +40,7 @@
 
     Department getById(Integer id);
 
-    List<Department> gets();
+    List<Department> gets(Integer deptId);
 
     Department getName(String name);
 
diff --git a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
index d138d98..aa6e62f 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
@@ -63,13 +63,13 @@
             throw new RuntimeException("璇ラ儴闂ㄤ笉瀛樺湪");
         }
         if (Objects.nonNull(department.getAdminId())) {
+            Integer adminNum = departmentMapper.countByAdminId(department.getAdminId(), department.getId());
+            if (adminNum > 0) {
+                throw new RuntimeException("涓�涓敤鎴峰彧鑳芥槸涓�涓崟浣嶇殑绠$悊鍛�");
+            }
             if (! Objects.equals(entity.getAdminId(), department.getAdminId())) {
                 // 鍙栨秷鍘熷厛鐨勭鐞嗗憳鏍囪瘑
-                List<Integer> depIds = departmentMapper.selectByAdminId(entity.getAdminId());
-                depIds.remove(department.getId());
-                if (depIds.size() < 1) {
-                    userMapper.updateDeptAdmin(entity.getAdminId(), DeptAdminEnum.NO.getValue());
-                }
+                userMapper.updateDeptAdmin(entity.getAdminId(), DeptAdminEnum.NO.getValue());
             }
             // 鏍囪瘑閮ㄩ棬绠$悊鍛�
             userMapper.updateDeptAdmin(department.getAdminId(), DeptAdminEnum.YES.getValue());
@@ -91,8 +91,11 @@
     }
 
     @Override
-    public List<Department> gets() {
-        return departmentMapper.gets();
+    public List<Department> gets(Integer deptId) {
+        if (deptId == -1) {
+            deptId = null;
+        }
+        return departmentMapper.gets(deptId);
     }
 
     @Override
@@ -117,13 +120,13 @@
             throw new RuntimeException("璇ラ儴闂ㄤ笉瀛樺湪");
         }
         if (Objects.nonNull(form.getAdminId())) {
+            Integer adminNum = departmentMapper.countByAdminId(form.getAdminId(), form.getId());
+            if (adminNum > 0) {
+                throw new RuntimeException("涓�涓敤鎴峰彧鑳芥槸涓�涓崟浣嶇殑绠$悊鍛�");
+            }
             if (! Objects.equals(entity.getAdminId(), form.getAdminId())) {
                 // 鍙栨秷鍘熷厛鐨勭鐞嗗憳鏍囪瘑
-                List<Integer> depIds = departmentMapper.selectByAdminId(entity.getAdminId());
-                depIds.remove(form.getId());
-                if (depIds.size() < 1) {
-                    userMapper.updateDeptAdmin(entity.getAdminId(), DeptAdminEnum.NO.getValue());
-                }
+                userMapper.updateDeptAdmin(entity.getAdminId(), DeptAdminEnum.NO.getValue());
             }
             // 鏍囪瘑閮ㄩ棬绠$悊鍛�
             userMapper.updateDeptAdmin(form.getAdminId(), DeptAdminEnum.YES.getValue());
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
index c8cec4a..d2ebc94 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
@@ -58,7 +58,6 @@
         if (model.getId() != null) {
             removes(model.getId());
         }
-
         ExamTemplates examTemplates = ExamTemplatesClassConvert.INSTANCE.ExamPaperEditRequestVMToExamTemplates(model);
         if (!CollectionUtils.isEmpty(model.getLimitDateTime())) {
             SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
diff --git a/src/main/java/com/mindskip/xzs/utility/convert/ExamTemplatesClassConvert.java b/src/main/java/com/mindskip/xzs/utility/convert/ExamTemplatesClassConvert.java
index 49f2be2..1eec512 100644
--- a/src/main/java/com/mindskip/xzs/utility/convert/ExamTemplatesClassConvert.java
+++ b/src/main/java/com/mindskip/xzs/utility/convert/ExamTemplatesClassConvert.java
@@ -29,6 +29,7 @@
             @Mapping(source = "name",target = "name"),
             @Mapping(source = "paperType",target = "paperType"),
             @Mapping(source = "suggestTime",target = "suggestTime"),
+            @Mapping(source = "deptId",target = "deptId"),
     })
     ExamPaperEditRequestVM ExamTemplatesToExamPaperEditRequestVM(ExamTemplates examTemplates);
 
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVM.java b/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVM.java
index 570771a..5fc0d0a 100644
--- a/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVM.java
+++ b/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVM.java
@@ -1,6 +1,8 @@
 package com.mindskip.xzs.viewmodel.admin.exam;
 
 
+import lombok.Data;
+
 import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -9,7 +11,7 @@
 import java.util.List;
 import java.util.Map;
 
-
+@Data
 public class ExamPaperEditRequestVM {
     private Integer id;
 //    @NotNull
@@ -22,6 +24,11 @@
     private String name;
     @NotNull
     private Integer suggestTime;
+
+    /**
+     * 鍙戝竷璇曞嵎閮ㄩ棬
+     */
+    private Integer deptId;
 
     private List<String> limitDateTime;
 
@@ -48,173 +55,4 @@
     private String status;
     private String menuIds;
 
-
-
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public Integer getLevel() {
-        return level;
-    }
-
-    public void setLevel(Integer level) {
-        this.level = level;
-    }
-
-    public Integer[] getSubjectId() {
-        return subjectId;
-    }
-
-    public void setSubjectId(Integer[] subjectId) {
-        this.subjectId = subjectId;
-    }
-
-    public Integer getPaperType() {
-        return paperType;
-    }
-
-    public void setPaperType(Integer paperType) {
-        this.paperType = paperType;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public Integer getSuggestTime() {
-        return suggestTime;
-    }
-
-    public void setSuggestTime(Integer suggestTime) {
-        this.suggestTime = suggestTime;
-    }
-
-    public List<String> getLimitDateTime() {
-        return limitDateTime;
-    }
-
-    public void setLimitDateTime(List<String> limitDateTime) {
-        this.limitDateTime = limitDateTime;
-    }
-
-    public List<ExamPaperTitleItemVM> getTitleItems() {
-        return titleItems;
-    }
-
-    public void setTitleItems(List<ExamPaperTitleItemVM> titleItems) {
-        this.titleItems = titleItems;
-    }
-
-    public String getScore() {
-        return score;
-    }
-
-    public void setScore(String score) {
-        this.score = score;
-    }
-
-    public Integer[] getDepartmentIds() {
-        return departmentIds;
-    }
-
-    public void setDepartmentIds(Integer[] departmentIds) {
-        this.departmentIds = departmentIds;
-    }
-
-    public Map<Integer, Integer> getSubjectSource() {
-        return subjectSource;
-    }
-
-    public void setSubjectSource(Map<Integer, Integer> subjectSource) {
-        this.subjectSource = subjectSource;
-    }
-
-    public Integer getAggregateSource() {
-        return aggregateSource;
-    }
-
-    public void setAggregateSource(Integer aggregateSource) {
-        this.aggregateSource = aggregateSource;
-    }
-
-    public List<QuestionTypeVM> getQuestionTypeVMS() {
-        return questionTypeVMS;
-    }
-
-    public void setQuestionTypeVMS(List<QuestionTypeVM> questionTypeVMS) {
-        this.questionTypeVMS = questionTypeVMS;
-    }
-
-    public Integer[] getUserIds() {
-        return userIds;
-    }
-
-    public void setUserIds(Integer[] userIds) {
-        this.userIds = userIds;
-    }
-
-    public Integer[][] getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Integer[][] userId) {
-        this.userId = userId;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public String getMenuIds() {
-        return menuIds;
-    }
-
-    public void setMenuIds(String menuIds) {
-        this.menuIds = menuIds;
-    }
-
-    @Override
-    public String toString() {
-        return "ExamPaperEditRequestVM{" +
-                "id=" + id +
-                ", level=" + level +
-                ", subjectId=" + Arrays.toString(subjectId) +
-                ", paperType=" + paperType +
-                ", name='" + name + '\'' +
-                ", suggestTime=" + suggestTime +
-                ", limitDateTime=" + limitDateTime +
-                ", titleItems=" + titleItems +
-                ", score='" + score + '\'' +
-                ", departmentIds=" + Arrays.toString(departmentIds) +
-                ", userIds=" + Arrays.toString(userIds) +
-                ", subjectSource=" + subjectSource +
-                ", questionTypeVMS=" + questionTypeVMS +
-                ", aggregateSource=" + aggregateSource +
-                ", userId=" + Arrays.toString(userId) +
-                ", type='" + type + '\'' +
-                ", status='" + status + '\'' +
-                ", menuIds='" + menuIds + '\'' +
-                '}';
-    }
 }
diff --git a/src/main/resources/mapper/DepartmentMapper.xml b/src/main/resources/mapper/DepartmentMapper.xml
index 5d54e83..db2d1fb 100644
--- a/src/main/resources/mapper/DepartmentMapper.xml
+++ b/src/main/resources/mapper/DepartmentMapper.xml
@@ -44,6 +44,9 @@
                 LEFT JOIN t_user tu ON td.admin_id = tu.id AND tu.deleted = 0
         WHERE
             td.deleted = 0
+            <if test="deptId != null">
+                AND td.id = #{deptId}
+            </if>
     </select>
 
     <select id="getById" resultMap="BaseResultMap">
@@ -95,7 +98,11 @@
     </select>
 
     <select id="selectByAdminId" resultType="integer">
-        SELECT id FROM t_department WHERE admin_id = #{id} AND deleted = 0
+        SELECT id FROM t_department WHERE admin_id = #{userId} AND deleted = 0
+    </select>
+
+    <select id="countByAdminId" resultType="integer">
+        SELECT count(*) FROM t_department WHERE admin_id = #{userId} AND deleted = 0 AND id != #{id}
     </select>
 
 </mapper>
diff --git a/src/main/resources/mapper/ExamTemplatesMapper.xml b/src/main/resources/mapper/ExamTemplatesMapper.xml
index 9329f2b..07e28d5 100644
--- a/src/main/resources/mapper/ExamTemplatesMapper.xml
+++ b/src/main/resources/mapper/ExamTemplatesMapper.xml
@@ -70,6 +70,9 @@
             <if test="userId != null">
                 and u.user_id = #{userId}
             </if>
+            <if test="deptId != null">
+                and e.dept_id = #{deptId}
+            </if>
             <if test="now !=null">
                 and #{now} between e.start_time and e.end_time
             </if>
@@ -93,4 +96,4 @@
         where id = #{id}
     </delete>
 
-</mapper>
\ No newline at end of file
+</mapper>

--
Gitblit v1.8.0