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