From 7f03c1aa378b33379cd15f035904888bbcbf8bac Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 17 五月 2024 20:30:17 +0800 Subject: [PATCH] 学员查询数据权限 --- src/main/resources/mapper/ExamPaperMapper.xml | 7 +++++-- src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java | 1 - src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java | 3 ++- src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java | 3 ++- src/main/java/com/mindskip/xzs/domain/vo/UserVO.java | 18 ++++++++++-------- src/main/java/com/mindskip/xzs/service/ExamPaperService.java | 9 ++++++++- 6 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java b/src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java index 1ac3145..e7b5b97 100644 --- a/src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java +++ b/src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java @@ -89,7 +89,6 @@ ).permitAll() .antMatchers("/files/**").permitAll() // 闈欐�佽祫婧愶紝鍙尶鍚嶈闂� - // todo 璁剧疆閮ㄩ棬绠$悊鍛樺彲浠ョ湅鐨勮姹� .antMatchers("/api/admin/**").hasAnyRole(RoleEnum.ADMIN.getName(), RoleEnum.DEPT_ADMIN.getName()) .antMatchers("/api/student/**").hasAnyRole(RoleEnum.STUDENT.getName(), RoleEnum.DEPT_ADMIN.getName()) .anyRequest().permitAll() diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java index 1cc4a82..c4c3343 100644 --- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java +++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java @@ -138,6 +138,7 @@ @RequestMapping(value = "/selectStudent", method = RequestMethod.POST) public RestResponse<PageInfo<UserVO>> selectStudent(@RequestBody UserVO userVO) { - return RestResponse.ok(examPaperService.selectStudent(userVO)); + List<Integer> adminDeptIds = getAdminDeptIds(); + return RestResponse.ok(examPaperService.selectStudent(userVO, adminDeptIds)); } } diff --git a/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java b/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java index 2a8d14a..05de999 100644 --- a/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java +++ b/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java @@ -6,6 +6,7 @@ import java.io.Serializable; import java.util.Date; +import java.util.List; public class UserVO implements Serializable { @@ -91,11 +92,19 @@ private Integer tagId; - private Integer deptId; + private List<Integer> deptIds; private Integer pageIndex; private Integer pageSize; + + public List<Integer> getDeptIds() { + return deptIds; + } + + public void setDeptIds(List<Integer> deptIds) { + this.deptIds = deptIds; + } public Integer getPageIndex() { return pageIndex; @@ -121,13 +130,6 @@ this.tagId = tagId; } - public Integer getDeptId() { - return deptId; - } - - public void setDeptId(Integer deptId) { - this.deptId = deptId; - } public String getConditionDetail() { return conditionDetail; diff --git a/src/main/java/com/mindskip/xzs/service/ExamPaperService.java b/src/main/java/com/mindskip/xzs/service/ExamPaperService.java index 8db3f0a..38f9bdb 100644 --- a/src/main/java/com/mindskip/xzs/service/ExamPaperService.java +++ b/src/main/java/com/mindskip/xzs/service/ExamPaperService.java @@ -42,5 +42,12 @@ List<ExamPaper> list(List<Integer> deptIds); - PageInfo<UserVO> selectStudent(UserVO userVO); + /** + * 鑾峰彇閮ㄩ棬鐨勫鐢� + * + * @param userVO + * @param adminDeptIds + * @return + */ + PageInfo<UserVO> selectStudent(UserVO userVO, List<Integer> adminDeptIds); } diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java index beeb070..8001bb0 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java @@ -631,7 +631,8 @@ } @Override - public PageInfo<UserVO> selectStudent(UserVO userVO) { + public PageInfo<UserVO> selectStudent(UserVO userVO, List<Integer> adminDeptIds) { + userVO.setDeptIds(ObjectUtils.isNotEmpty(userVO.getDeptIds()) ? userVO.getDeptIds() : adminDeptIds); return PageHelper.startPage(userVO.getPageIndex(), userVO.getPageSize()).doSelectPageInfo(() -> examPaperMapper.selectStudent(userVO)); } diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml index c04d6c7..93ad348 100644 --- a/src/main/resources/mapper/ExamPaperMapper.xml +++ b/src/main/resources/mapper/ExamPaperMapper.xml @@ -461,8 +461,11 @@ <if test="tagId != null and tagId != ''"> and b.tag_id = #{tagId} </if> - <if test="deptId != null and deptId != ''"> - and c.department_id = #{deptId} + <if test="deptIds != null and deptIds.size > 0"> + and c.department_id in + <foreach collection="deptIds" open="(" separator="," close=")" item="deptId"> + #{deptId} + </foreach> </if> group by a.id, a.real_name order by a.id -- Gitblit v1.8.0