From 72515e6ac4db34d02617916888374d1c774744c7 Mon Sep 17 00:00:00 2001
From: Null <281575458@qq.com>
Date: 星期六, 20 三月 2021 17:25:42 +0800
Subject: [PATCH] 一标三实接口BUG修改
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java | 67 ++++++++++++++++++++++++++++++++-
1 files changed, 65 insertions(+), 2 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java
index cc0c879..7cf7b01 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java
@@ -27,6 +27,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
/**
* @program: springcloud_k8s_panzhihuazhihuishequ
@@ -132,7 +133,8 @@
}
}
if (insert>0) {
- return R.ok();
+ SysRoleDO roleDO = roleDAO.selectOne(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, roleVO.getRoleKey()).eq(SysRoleDO::getCommunityId, roleVO.getCommunityId()));
+ return R.ok(roleDO.getRoleId());
}
return R.fail();
}
@@ -202,7 +204,7 @@
// 创建新的
Integer isAll = menuRoleVO.getIsAll();
if (isAll.intValue()==1) {
- menuIds = sysMenuDAO.selectList(null).stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList());
+ menuIds = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId,menuRoleVO.getCommunityId())).stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList());
}else{
menuIds=menuRoleVO.getMenuIds();
}
@@ -216,4 +218,65 @@
stringRedisTemplate.delete(SecurityConstants.ROLE_ALL);
return R.ok();
}
+
+ /**
+ * 用户菜单获取
+ *
+ * @param userId 登录用户id
+ * @return 用户菜单
+ */
+ @Override
+ public R listmenu(Long userId) {
+ SysUserRoleDO sysUserRoleDO = sysUserRoleDAO.selectOne(new QueryWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getUserId, userId));
+ if (ObjectUtils.isEmpty(sysUserRoleDO)) {
+ return R.fail("用户未绑定角色");
+ }
+ Long roleId = sysUserRoleDO.getRoleId();
+ List<SysRoleMenuDO> sysRoleMenuDOS = sysRoleMenuDAO.selectList(new QueryWrapper<SysRoleMenuDO>().lambda().eq(SysRoleMenuDO::getRoleId, roleId));
+ if (ObjectUtils.isEmpty(sysRoleMenuDOS)) {
+ return R.fail("用户没有任何权限");
+ }
+ List<Long> collect = sysRoleMenuDOS.stream().map(sysRoleMenuDO -> sysRoleMenuDO.getMenuId()).collect(Collectors.toList());
+ List<SysMenuDO> sysMenuDOS = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().in(SysMenuDO::getMenuId, collect));
+ List<SysMenuVO> sysMenuVOS=new ArrayList<>();
+ sysMenuDOS.forEach(sysMenuDO -> {
+ SysMenuVO sysMenuVO=new SysMenuVO();
+ BeanUtils.copyProperties(sysMenuDO,sysMenuVO);
+ sysMenuVOS.add(sysMenuVO);
+ });
+ List<SysMenuVO> collect1 = sysMenuVOS.stream().filter(sysMenuVO -> sysMenuVO.getParentId() == 0).collect(Collectors.toList());
+ if (!ObjectUtils.isEmpty(collect1)) {
+ collect1.forEach(sysMenuVO -> {
+ Long menuId = sysMenuVO.getMenuId();
+ List<SysMenuVO> sysMenuVOS1=sysMenuVOS.stream().filter(sysMenuVO1 -> sysMenuVO1.getParentId().intValue()==menuId.intValue()).collect(Collectors.toList());
+ sysMenuVO.setSysMenuVOList(sysMenuVOS1);
+ });
+ }
+
+ return R.ok(collect1);
+ }
+
+ /**
+ * 获取角色的权限配置列表
+ *
+ * @param roleId 角色id
+ * @return 菜单列表
+ */
+ @Override
+ public R listMenuBackstageByRole(Long roleId) {
+ List<SysMenuVO> sysMenuVOS=new ArrayList<>();
+ List<SysRoleMenuDO> sysRoleMenuDOS = sysRoleMenuDAO.selectList(new QueryWrapper<SysRoleMenuDO>().lambda().eq(SysRoleMenuDO::getRoleId, roleId));
+ if (!ObjectUtils.isEmpty(sysRoleMenuDOS)) {
+ List<Long> longs = sysRoleMenuDOS.stream().map(sysRoleMenuDO -> sysRoleMenuDO.getMenuId()).collect(Collectors.toList());
+ List<SysMenuDO> sysMenuDOS = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().in(SysMenuDO::getMenuId,longs));
+ if (!ObjectUtils.isEmpty(sysMenuDOS)) {
+ sysMenuDOS.forEach(sysMenuDO -> {
+ SysMenuVO sysMenuVO1=new SysMenuVO();
+ BeanUtils.copyProperties(sysMenuDO,sysMenuVO1);
+ sysMenuVOS.add(sysMenuVO1);
+ });
+ }
+ }
+ return R.ok(sysMenuVOS);
+ }
}
--
Gitblit v1.7.1