龚焕茏
2024-05-17 8245a52ca30b397e5ec6fcefe391e3b57475fb64
fix:部门管理员权限
11个文件已修改
46 ■■■■ 已修改文件
src/main/java/com/mindskip/xzs/controller/admin/DepartmentExamineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/UserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/domain/vo/DepartmentExamineVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserPageRequestVM.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/DepartmentExamineMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamPaperMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/UserMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/DepartmentExamineController.java
@@ -8,6 +8,7 @@
import com.mindskip.xzs.domain.vo.DepartmentExamineVO;
import com.mindskip.xzs.service.IDepartmentExamineService;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
@@ -29,6 +30,7 @@
    @RequestMapping(value = "list", method = RequestMethod.POST)
    public RestResponse<PageInfo<DepartmentExamineVO>> list(@RequestBody DepartmentExamineVO departmentExamineVO) {
        departmentExamineVO.setDeptIds(ObjectUtils.isNotEmpty(departmentExamineVO.getDeptIds()) ? departmentExamineVO.getDeptIds() : getAdminDeptIds());
        return RestResponse.ok(departmentExamineService.pageInfo(departmentExamineVO));
    }
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java
@@ -18,6 +18,7 @@
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperAnswerPageRequestVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageResponseVM;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -122,7 +123,7 @@
    @RequestMapping(value = "/statistic", method = RequestMethod.POST)
    public RestResponse<Map<String, Object>> statistic(@RequestBody ExamPaperStatisticVO examPaperStatisticVO) {
        examPaperStatisticVO.setDepartmentId(isDeptAdmin() ? getAdminDeptIds() : null);
        examPaperStatisticVO.setDepartmentId(ObjectUtils.isNotEmpty(examPaperStatisticVO.getDepartmentId()) ? examPaperStatisticVO.getDepartmentId() : getAdminDeptIds());
        return RestResponse.ok(examPaperAnswerService.statistic(examPaperStatisticVO));
    }
}
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -19,6 +19,7 @@
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM;
import lombok.SneakyThrows;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -48,7 +49,7 @@
    @RequestMapping(value = "/page", method = RequestMethod.POST)
    public RestResponse<PageInfo<ExamResponseVM>> pageList(@RequestBody ExamPaperPageRequestVM model) {
        model.setDeptIds(isDeptAdmin() ? getAdminDeptIds() : null);
        model.setDeptIds(ObjectUtils.isNotEmpty(model.getDeptIds()) ? model.getDeptIds() : getAdminDeptIds());
        if (Objects.nonNull(model.getLevel())) {
            model.setDeptIds(Collections.singletonList(model.getLevel()));
        }
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java
@@ -15,6 +15,7 @@
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;
@@ -99,7 +100,7 @@
    @RequestMapping(value = "/page", method = RequestMethod.POST)
    public RestResponse<PageInfo<ExamPaperAnswer>> pageJudgeList(@RequestBody ExamPaperGradeQuery query) {
        // 如果是部门管理员,需要做数据权限
        query.setDeptId(isDeptAdmin() ? getAdminDeptIds() : null);
        query.setDeptId(ObjectUtils.isNotEmpty(query.getDeptId()) ? query.getDeptId() : getAdminDeptIds());
        query.setFullTime();
        // 查询
        PageInfo<ExamPaperAnswer> info = PageHelper.startPage(query.getPageIndex(), query.getPageSize()).doSelectPageInfo(() ->
src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java
@@ -13,6 +13,7 @@
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@@ -36,7 +37,7 @@
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public RestResponse<PageInfo<ExamTemplatesVO>> list(ExamTemplatesVO examTemplatesVO) throws Exception {
        // 如果是部门管理员,需要做数据权限
        examTemplatesVO.setDeptId(isDeptAdmin() ? getAdminDeptIds() : null);
        examTemplatesVO.setDeptId(ObjectUtils.isNotEmpty(examTemplatesVO.getDeptId()) ? examTemplatesVO.getDeptId() : getAdminDeptIds());
        PageInfo<ExamTemplates> pageInfo = examTemplatesService.getByadmins(examTemplatesVO);
        PageInfo<ExamTemplatesVO> info = PageInfoHelper.copyMap(pageInfo, e -> {
            ExamTemplatesVO vo = new ExamTemplatesVO();
src/main/java/com/mindskip/xzs/controller/admin/UserController.java
@@ -52,7 +52,7 @@
    @RequestMapping(value = "/page/list", method = RequestMethod.POST)
    public RestResponse<PageInfo<UserResponseVM>> pageList(@RequestBody UserPageRequestVM model) {
        model.setDepartmentId(isDeptAdmin() ? getAdminDeptIds() : null);
        model.setDepartmentId(ObjectUtils.isNotEmpty(model.getDepartmentId()) ? model.getDepartmentId() : getAdminDeptIds());
        PageInfo<User> pageInfo = userService.userPage(model);
        PageInfo<UserResponseVM> page = PageInfoHelper.copyMap(pageInfo, d ->
                UserResponseVM.from(d));
src/main/java/com/mindskip/xzs/domain/vo/DepartmentExamineVO.java
@@ -8,6 +8,7 @@
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
@@ -66,5 +67,7 @@
    private Integer pageSize;
    private List<Integer> deptIds;
}
src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserPageRequestVM.java
@@ -9,9 +9,18 @@
    private String userName;
    private Integer role;
    private List<Integer> roles;
    private List<Integer> departmentId;
    public List<Integer> getRoles() {
        return roles;
    }
    public void setRoles(List<Integer> roles) {
        this.roles = roles;
    }
    public List<Integer> getDepartmentId() {
        return departmentId;
    }
src/main/resources/mapper/DepartmentExamineMapper.xml
@@ -14,9 +14,21 @@
                 left join t_user c on a.create_user = c.id and c.deleted = 0
                 left join t_user c2 on a.user_id = c2.id and c2.deleted = 0
        where a.deleted = 0
        <if test="deptIds != null and deptIds.size() > 0">
            and (
                b.id in <foreach collection="deptIds" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach>
             or b2.id in <foreach collection="deptIds" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach>
            )
        </if>
        <if test="userName != null">
            and c2.real_name like concat('%', #{userName}, '%')
        </if>
        <if test="departmentIds != null">
            and FIND_IN_SET(#{departmentIds}, a.now_department_ids)
        </if>
        <if test="nowDepartmentIds != null">
            and FIND_IN_SET(#{nowDepartmentIds}, a.now_department_ids)
        </if>
        GROUP BY a.id, a.create_time
        order by a.create_time desc
    </select>
src/main/resources/mapper/ExamPaperMapper.xml
@@ -457,7 +457,7 @@
          left join t_user_tag b on a.id = b.user_id
          left join t_user_department c on a.id = c.user_id
      where
          user_name != 'admin'
          user_name != 'admin' and a.status != 2 and a.deleted = 0 and (a.`condition` = 0 or a.`condition` is null)
          <if test="tagId != null and tagId != ''">
             and b.tag_id = #{tagId}
          </if>
src/main/resources/mapper/UserMapper.xml
@@ -350,8 +350,8 @@
            <if test="userName != null and userName != ''">
                and real_name like concat('%',#{userName},'%')
            </if>
            <if test="role != null ">
                and role= #{role}
            <if test="role != null and role.size() > 0">
                and role in <foreach collection="role" item="item" open="(" separator="," close=")"> #{item} </foreach>
            </if>
    </select>