From eb3cd82b727afe79047e5a63f5bdbbb92147d406 Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期一, 16 八月 2021 14:55:26 +0800
Subject: [PATCH] 实有人口导入bug修改
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++---
1 files changed, 68 insertions(+), 6 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 5708a4f..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();
}
@@ -158,14 +160,13 @@
/**
* 平台菜单列表
- *
- * @param type 1 运营平台 2 社区平台
+ * @param communityId 社区id 0 运营平台
* @return 菜单集合
*/
@Override
- public R listMenuBackstage(int type) {
+ public R listMenuBackstage(Long communityId) {
List<SysMenuVO> sysMenuVOS=new ArrayList<>();
- List<SysMenuDO> sysMenuDOS = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getParentId, 0).eq(SysMenuDO::getType,type).orderByAsc(SysMenuDO::getOrderNum));
+ List<SysMenuDO> sysMenuDOS = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getParentId, 0).eq(SysMenuDO::getCommunityId,communityId).orderByAsc(SysMenuDO::getOrderNum));
if (!ObjectUtils.isEmpty(sysMenuDOS)) {
sysMenuDOS.forEach(sysMenuDO -> {
SysMenuVO sysMenuVO=new SysMenuVO();
@@ -203,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();
}
@@ -217,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