From bc0953386230888b953fb1be0f726f80b04cb9f1 Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期五, 10 九月 2021 11:57:36 +0800
Subject: [PATCH] 修改标签设置bug
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java | 186 ++++++++++++++++++++++++++++++----------------
1 files changed, 122 insertions(+), 64 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 e0ae391..cd6ef70 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
@@ -1,5 +1,17 @@
package com.panzhihua.service_user.service.impl;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.panzhihua.common.constants.SecurityConstants;
import com.panzhihua.common.model.vos.MenuVO;
@@ -16,17 +28,8 @@
import com.panzhihua.service_user.model.dos.SysRoleMenuDO;
import com.panzhihua.service_user.model.dos.SysUserRoleDO;
import com.panzhihua.service_user.service.RoleService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
-import org.springframework.data.redis.core.StringRedisTemplate;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
+import lombok.extern.slf4j.Slf4j;
/**
* @program: springcloud_k8s_panzhihuazhihuishequ
@@ -47,6 +50,7 @@
private SysRoleMenuDAO sysRoleMenuDAO;
@Resource
private StringRedisTemplate stringRedisTemplate;
+
/**
* 获取平台所有的菜单按钮权限
*
@@ -54,36 +58,39 @@
*/
@Override
public R<List<MenuVO>> getAllMenu() {
- List<MenuVO> menuVOS=roleDAO.selectAllMenuUrl();
+ List<MenuVO> menuVOS = roleDAO.selectAllMenuUrl();
return R.ok(menuVOS);
}
/**
* 获取某个人的所有角色
*
- * @param username 用户ID
+ * @param username
+ * 用户ID
* @return 所有角色
*/
@Override
public R<List<String>> getUserRoles(String username) {
- List<String> roles=roleDAO.selectRoles(username);
+ List<String> roles = roleDAO.selectRoles(username);
return R.ok(roles);
}
/**
* 查询社区的党委角色
*
- * @param communityId 社区id
+ * @param communityId
+ * 社区id
* @return 党委角色列表
*/
@Override
public R listIdentity(Integer communityId) {
- List<RoleVO> roleVOS=new ArrayList<>();
- List<SysRoleDO> sysRoleDOS = roleDAO.selectList(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getCommunityId, communityId));
+ List<RoleVO> roleVOS = new ArrayList<>();
+ List<SysRoleDO> sysRoleDOS =
+ roleDAO.selectList(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getCommunityId, communityId));
if (!ObjectUtils.isEmpty(sysRoleDOS)) {
sysRoleDOS.forEach(sysRoleDO -> {
- RoleVO roleVO=new RoleVO();
- BeanUtils.copyProperties(sysRoleDO,roleVO);
+ RoleVO roleVO = new RoleVO();
+ BeanUtils.copyProperties(sysRoleDO, roleVO);
roleVOS.add(roleVO);
});
}
@@ -93,19 +100,21 @@
/**
* 角色下拉列表
*
- * @param communityId 对应社区 0 表示运营后台
+ * @param communityId
+ * 对应社区 0 表示运营后台
* @return 角色集合
*/
@Override
public R listRoleBackstage(Long communityId) {
- List<SysRoleDO> sysRoleDOS = roleDAO.selectList(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getCommunityId, communityId));
+ List<SysRoleDO> sysRoleDOS =
+ roleDAO.selectList(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getCommunityId, communityId));
if (ObjectUtils.isEmpty(sysRoleDOS)) {
return R.fail("角色列表为空");
}
- List<RoleVO>roleVOS=new ArrayList<>();
+ List<RoleVO> roleVOS = new ArrayList<>();
sysRoleDOS.forEach(sysRoleDO -> {
- RoleVO roleVO=new RoleVO();
- BeanUtils.copyProperties(sysRoleDO,roleVO);
+ RoleVO roleVO = new RoleVO();
+ BeanUtils.copyProperties(sysRoleDO, roleVO);
roleVOS.add(roleVO);
});
return R.ok(roleVOS);
@@ -114,25 +123,27 @@
/**
* 新增角色
*
- * @param roleVO 角色信息
+ * @param roleVO
+ * 角色信息
* @return 新增结果
*/
@Override
public R addRoleBackstage(RoleVO roleVO) {
- SysRoleDO sysRoleDO=new SysRoleDO();
- BeanUtils.copyProperties(roleVO,sysRoleDO);
+ SysRoleDO sysRoleDO = new SysRoleDO();
+ BeanUtils.copyProperties(roleVO, sysRoleDO);
int insert = 0;
try {
insert = roleDAO.insert(sysRoleDO);
} catch (Exception e) {
e.printStackTrace();
- log.error("新增角色失败,失败原因【{}】",e.getMessage());
+ log.error("新增角色失败,失败原因【{}】", e.getMessage());
if (e.getMessage().contains("unique_role_name_community_id")) {
return R.fail("角色已经存在");
}
}
- if (insert>0) {
- SysRoleDO roleDO = roleDAO.selectOne(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, roleVO.getRoleKey()).eq(SysRoleDO::getCommunityId, roleVO.getCommunityId()));
+ if (insert > 0) {
+ 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();
@@ -141,17 +152,19 @@
/**
* 删除角色
*
- * @param roleVO 角色主键
+ * @param roleVO
+ * 角色主键
* @return 删除结果
*/
@Override
public R deleteRoleBackstage(RoleVO roleVO) {
- Integer integer = sysUserRoleDAO.selectCount(new QueryWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getRoleId, roleVO.getRoleId()));
- if (integer>0) {
+ Integer integer = sysUserRoleDAO
+ .selectCount(new QueryWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getRoleId, roleVO.getRoleId()));
+ if (integer > 0) {
return R.fail("该角色的关联用户数量不为0,不能删除");
}
int delete = roleDAO.deleteById(roleVO.getRoleId());
- if (delete==0) {
+ if (delete == 0) {
return R.fail("角色不存在");
}
return R.ok();
@@ -159,24 +172,29 @@
/**
* 平台菜单列表
- * @param communityId 社区id 0 运营平台
+ *
+ * @param communityId
+ * 社区id 0 运营平台
* @return 菜单集合
*/
@Override
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::getCommunityId,communityId).orderByAsc(SysMenuDO::getOrderNum));
+ List<SysMenuVO> sysMenuVOS = new ArrayList<>();
+ 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();
- BeanUtils.copyProperties(sysMenuDO,sysMenuVO);
+ SysMenuVO sysMenuVO = new SysMenuVO();
+ BeanUtils.copyProperties(sysMenuDO, sysMenuVO);
Long menuId = sysMenuDO.getMenuId();
- List<SysMenuDO> sysMenuDOS1 = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getParentId, menuId).orderByAsc(SysMenuDO::getOrderNum));
- List<SysMenuVO> sysMenuVOS1=new ArrayList<>();
+ List<SysMenuDO> sysMenuDOS1 = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda()
+ .eq(SysMenuDO::getParentId, menuId).orderByAsc(SysMenuDO::getOrderNum));
+ List<SysMenuVO> sysMenuVOS1 = new ArrayList<>();
if (!ObjectUtils.isEmpty(sysMenuDOS1)) {
sysMenuDOS1.forEach(sysMenuDO1 -> {
- SysMenuVO sysMenuVO1=new SysMenuVO();
- BeanUtils.copyProperties(sysMenuDO1,sysMenuVO1);
+ SysMenuVO sysMenuVO1 = new SysMenuVO();
+ BeanUtils.copyProperties(sysMenuDO1, sysMenuVO1);
sysMenuVOS1.add(sysMenuVO1);
});
sysMenuVO.setSysMenuVOList(sysMenuVOS1);
@@ -190,30 +208,34 @@
/**
* 设置角色的权限
*
- * @param menuRoleVO 用户设置的权限id
+ * @param menuRoleVO
+ * 用户设置的权限id
* @return 设置结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public R putMenuRole(MenuRoleVO menuRoleVO) {
- List<Long>menuIds=new ArrayList<>();
+ List<Long> menuIds = new ArrayList<>();
Long roleId = menuRoleVO.getRoleId();
-// 删除旧的
+ // 删除旧的
sysRoleMenuDAO.delete(new QueryWrapper<SysRoleMenuDO>().lambda().eq(SysRoleMenuDO::getRoleId, roleId));
-// 创建新的
+ // 创建新的
Integer isAll = menuRoleVO.getIsAll();
- if (isAll.intValue()==1) {
- menuIds = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId,menuRoleVO.getCommunityId())).stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList());
- }else{
- menuIds=menuRoleVO.getMenuIds();
+ if (isAll.intValue() == 1) {
+ menuIds = sysMenuDAO
+ .selectList(
+ new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId, menuRoleVO.getCommunityId()))
+ .stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList());
+ } else {
+ menuIds = menuRoleVO.getMenuIds();
}
- for(int i=0;i<menuIds.size();i++){
- SysRoleMenuDO sysRoleMenuDO=new SysRoleMenuDO();
+ for (int i = 0; i < menuIds.size(); i++) {
+ SysRoleMenuDO sysRoleMenuDO = new SysRoleMenuDO();
sysRoleMenuDO.setMenuId(menuIds.get(i));
sysRoleMenuDO.setRoleId(roleId);
sysRoleMenuDAO.insert(sysRoleMenuDO);
}
-// 清除缓存
+ // 清除缓存
stringRedisTemplate.delete(SecurityConstants.ROLE_ALL);
return R.ok();
}
@@ -221,37 +243,73 @@
/**
* 用户菜单获取
*
- * @param userId 登录用户id
+ * @param userId
+ * 登录用户id
* @return 用户菜单
*/
@Override
public R listmenu(Long userId) {
- SysUserRoleDO sysUserRoleDO = sysUserRoleDAO.selectOne(new QueryWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getUserId, 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));
+ 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<>();
+ 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);
+ SysMenuVO sysMenuVO = new SysMenuVO();
+ BeanUtils.copyProperties(sysMenuDO, sysMenuVO);
sysMenuVOS.add(sysMenuVO);
});
- List<SysMenuVO> collect1 = sysMenuVOS.stream().filter(sysMenuVO -> sysMenuVO.getParentId() == 0).collect(Collectors.toList());
+ 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());
+ 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