From 3eb801e80941304a3174d1b90a8d161b41eb3d67 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期五, 28 十月 2022 15:08:04 +0800 Subject: [PATCH] 动态菜单权限 --- ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java | 52 +++++++++++++++++++++++++++------------------------- 1 files changed, 27 insertions(+), 25 deletions(-) diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java index 65afe5c..83b2858 100644 --- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java +++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java @@ -133,34 +133,38 @@ } //缁戝畾鑿滃崟浜庣敤鎴� if (!ids.isEmpty()) { - Integer size = 0; - Long maxId = null; + ArrayList<UmsRoleMenuRelation> umsRoleMenuRelations = new ArrayList<>(); for (Long id : ids) { - if (size < umsRoleMenuRelationMapper + umsRoleMenuRelations.addAll(umsRoleMenuRelationMapper .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>() - .eq(UmsRoleMenuRelation::getRoleId, id)).size()) { - size = umsRoleMenuRelationMapper - .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>() - .eq(UmsRoleMenuRelation::getRoleId, id)).size(); - maxId = id; - } + .eq(UmsRoleMenuRelation::getRoleId, id))); } - umsRoleMenuRelationMapper - .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>() - .eq(UmsRoleMenuRelation::getRoleId, maxId)) + umsRoleMenuRelations + .stream() + .map(item->item.getMenuId()) + .collect(Collectors.toList()) + .stream() + .distinct() + .collect(Collectors.toList()) .stream() .forEach(item -> { AdminMenuRelation adminMenuRelation = new AdminMenuRelation(); adminMenuRelation.setAdminId(umsAdmin.getId()); - adminMenuRelation.setMenuId(item.getMenuId()); - adminMenuRelation.setSort(umsMenuMapper.selectOne(new LambdaQueryWrapper<UmsMenu>().eq(UmsMenu::getId, item.getMenuId())).getSort()); + adminMenuRelation.setMenuId(item); adminMenuRelationMapper.insert(adminMenuRelation); }); } //瀵圭敤鎴峰悕绯荤粺榛樿娣诲姞 //umsAdmin.setNickName(RandomUtils.getUserId(umsAdmin.getId())); - baseMapper.updateById(umsAdmin); + //娣诲姞閮ㄩ棬 + UmsDepartManage departManage = new UmsDepartManage(); + departManage.setUserId(umsAdmin.getId()); + departManage.setDepartId(umsAdmin.getDepartmentId()); + departManage.setCreateTime(new Date()); + departManage.setUpdateTime(new Date()); + umsDepartManageMapper.insert(departManage); + baseMapper.updateById(umsAdmin); return umsAdmin; } @@ -291,16 +295,14 @@ } @Override - public List<UmsResource> getResourceList(Long adminId) { - List<UmsResource> resourceList = getCacheService().getResourceList(adminId); - if (CollUtil.isNotEmpty(resourceList)) { - return resourceList; + public List<UmsMenu> getResourceList(Long adminId) { + List<UmsMenu> umsMenuList = getCacheService().getResourceList(adminId); + if (CollUtil.isNotEmpty(umsMenuList)) { + return umsMenuList; } - resourceList = umsResourceMapper.getResourceList(adminId); - if (CollUtil.isNotEmpty(resourceList)) { - getCacheService().setResourceList(adminId, resourceList); - } - return resourceList; + umsMenuList = umsMenuMapper.getMenuList(adminId); + getCacheService().setResourceList(adminId, umsMenuList); + return umsMenuList; } @Override @@ -331,7 +333,7 @@ //鑾峰彇鐢ㄦ埛淇℃伅 UmsAdmin admin = getAdminByUsername(username); if (admin != null) { - List<UmsResource> resourceList = getResourceList(admin.getId()); + List<UmsMenu> resourceList = getResourceList(admin.getId()); return new AdminUserDetails(admin, resourceList); } throw new UsernameNotFoundException("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒"); -- Gitblit v1.8.0