Browse Source

12.31,部分deptId判断问题

Crazy 3 months ago
parent
commit
ba4b6e8805

+ 6 - 3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.java

@@ -200,6 +200,9 @@ public class DeptController {
     public CommonResult<DeptRespVO> getDept(@RequestParam("id") Long id) {
         // 获取部门信息
         DeptDO dept = deptService.getDept(id);
+        if (id==null||id==0){
+            return null;
+        }
         if (dept == null) {
             return null;
         }
@@ -248,7 +251,9 @@ public class DeptController {
     @PreAuthorize("@ss.hasPermission('system:dept:selfQuery')")
     public CommonResult<DeptRespVO> getUserDept() {
         Long deptId = SecurityFrameworkUtils.getLoginUserDeptId();
-
+        if (deptId==null||deptId==0){
+            return null;
+        }
         // 获取部门信息
         DeptDO dept = deptService.getUserDept();
         if (dept == null) {
@@ -370,6 +375,4 @@ public class DeptController {
         return null;
     }
 
-
-
 }

+ 24 - 10
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java

@@ -190,18 +190,23 @@ public class UserController {
 
     @GetMapping("/getTeacherPageForTeacher")
     @Operation(summary = "获得老师分页列表")
-    @PreAuthorize("@ss.hasPermission('system:user:teacherList')")
+    @PreAuthorize("@ss.hasPermission('system:user:deptTeacherList')")
     public CommonResult<PageResult<UserRespVO>> getTeacherPageForTeacher(@Valid UserPageReqVO pageReqVO) {
         // 获得用户分页列表
-        PageResult<AdminUserDO> pageResult = userService.getTeacherPageForTeacher(pageReqVO);
-        if (CollUtil.isEmpty(pageResult.getList())) {
-            return success(new PageResult<>(pageResult.getTotal()));
+        Long deptId =SecurityFrameworkUtils.getLoginUserDeptId();
+        if (deptId!=null && deptId!=0) {
+            PageResult<AdminUserDO> pageResult = userService.getTeacherPageForTeacher(pageReqVO);
+            if (CollUtil.isEmpty(pageResult.getList())) {
+                return success(new PageResult<>(pageResult.getTotal()));
+            }
+            // 拼接数据
+            Map<Long, DeptDO> deptMap = deptService.getDeptMap(
+                    convertList(pageResult.getList(), AdminUserDO::getDeptId));
+            return success(new PageResult<>(UserConvert.INSTANCE.convertList(pageResult.getList(), deptMap),
+                    pageResult.getTotal()));
+        }else {
+            return null;
         }
-        // 拼接数据
-        Map<Long, DeptDO> deptMap = deptService.getDeptMap(
-                convertList(pageResult.getList(), AdminUserDO::getDeptId));
-        return success(new PageResult<>(UserConvert.INSTANCE.convertList(pageResult.getList(), deptMap),
-                pageResult.getTotal()));
     }
 
     //lsq
@@ -210,6 +215,7 @@ public class UserController {
     @PreAuthorize("@ss.hasPermission('system:user:studentList')")
     public CommonResult<PageResult<UserRespVO>> getUserPage1(@Valid UserPageReqVO pageReqVO) {
         // 获得用户分页列表
+
         PageResult<AdminUserDO> pageResult = userService.getUserPage1(pageReqVO);
         if (CollUtil.isEmpty(pageResult.getList())) {
             return success(new PageResult<>(pageResult.getTotal()));
@@ -226,9 +232,15 @@ public class UserController {
 
     @GetMapping("/pageForTeacher")
     @Operation(summary = "教师获得学生分页")
-    @PreAuthorize("@ss.hasPermission('system:user:studentList')")
+    @PreAuthorize("@ss.hasPermission('system:user:teacherGetstudentList')")
     public CommonResult<PageResult<UserRespVO>> getUserPageForTeacher(@Valid UserPageReqVO pageReqVO) {
         // 获得用户分页列表
+        Long loginId = SecurityFrameworkUtils.getLoginUserId();
+        Long deptId = SecurityFrameworkUtils.getLoginUserDeptId();
+        Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
+        if (roleIds.contains(113L)&&(deptId==null||deptId==0)){
+            return null;
+        }
         PageResult<AdminUserDO> pageResult = userService.getUserPageForTeacher(pageReqVO);
         if (CollUtil.isEmpty(pageResult.getList())) {
             return success(new PageResult<>(pageResult.getTotal()));
@@ -242,6 +254,8 @@ public class UserController {
         List<UserRespVO> userRespList = UserConvert.INSTANCE.convertList(pageResult.getList(), deptMap);
         return success(new PageResult<>(userRespList, pageResult.getTotal()));
     }
+
+
     //lsq
     @GetMapping("/DeptUser")
     @Operation(summary = "获得工作间人员")

+ 2 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java

@@ -56,6 +56,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
                 .inIfPresent(AdminUserDO::getDeptId, deptIds)
                 .orderByDesc(AdminUserDO::getId));
     }
+
     default List<AdminUserDO> selectUserList(UserPageReqVO reqVO, Collection<Long> deptIds) {
         return selectList(new LambdaQueryWrapperX<AdminUserDO>()
                 .likeIfPresent(AdminUserDO::getEmail,reqVO.getEmail())
@@ -114,12 +115,12 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
                 // 添加子查询条件,查找有教师权限的人
                 .eqIfPresent(AdminUserDO::getUserType,3)
                 .orderByDesc(AdminUserDO::getId);
-
         queryWrapperX.eqIfPresent(AdminUserDO::getDeptId,deptId);
 
         return selectPage(reqVO,queryWrapperX);
     }
 
+
     List<AdminUserDO> selectPageForGraduate(
             @Param("reqVO") UserPageReqVO reqVO,
             @Param("deptIds") Collection<Long> deptIds,

+ 13 - 12
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

@@ -450,6 +450,8 @@ public class AdminUserServiceImpl implements AdminUserService {
 
         return new PageResult<>(result, size);
     }
+
+
     @Override
     public  List<AdminUserDO> getUserList1(UserPageReqVO reqVO){
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
@@ -481,21 +483,20 @@ public class AdminUserServiceImpl implements AdminUserService {
 
     @Override
     public PageResult<AdminUserDO> getTeacherPageForTeacher(UserPageReqVO reqVO) {
-
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
         Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
-        PageResult<AdminUserDO> result =userMapper.getTeacherPageForTeacher(reqVO, getDeptCondition(reqVO.getDeptId()),roleIds,loginId);
-        result.getList().forEach(user -> {
-            if (user.getDeptId()==null||user.getDeptId()==0L){
-                user.setDeptName("测绘学院");
-            }else {
-                DeptDO dept =deptService.getDept(user.getDeptId());
-                if (dept!=null){
-                    user.setDeptName(dept.getName());
+            PageResult<AdminUserDO> result = userMapper.getTeacherPageForTeacher(reqVO, getDeptCondition(reqVO.getDeptId()), roleIds, loginId);
+            result.getList().forEach(user -> {
+                if (user.getDeptId() == null || user.getDeptId() == 0L) {
+                    user.setDeptName("测绘学院");
+                } else {
+                    DeptDO dept = deptService.getDept(user.getDeptId());
+                    if (dept != null) {
+                        user.setDeptName(dept.getName());
+                    }
                 }
-            }
-        });
-        return result;
+            });
+            return result;
     }
     //查询工作间下的人员
     @Override