From 49dbcdadd860b7613063ee618fbe38a0593d5bd9 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 11 Jul 2022 15:45:29 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java | 34 ++++++++++++++++++++++++----------
1 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java
index 7029418..216f8ad 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java
@@ -15,6 +15,7 @@
import com.xcong.farmer.cms.modules.system.entity.*;
import com.xcong.farmer.cms.modules.system.mapper.*;
import com.xcong.farmer.cms.modules.system.service.IRoleService;
+import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
import com.xcong.farmer.cms.modules.system.vo.AdminMenuInfoVo;
import com.xcong.farmer.cms.modules.system.vo.AdminRoleVo;
import com.xcong.farmer.cms.modules.system.vo.AdminSeeRoleInfoVo;
@@ -46,10 +47,15 @@
@Override
public Result getRoleInPage(AdminRoleDto adminRoleDto) {
+ UserEntity userlogin = LoginUserUtil.getLoginUser();
Page<AdminRoleVo> page = new Page<>(adminRoleDto.getPageNum(), adminRoleDto.getPageSize());
RoleEntity roleEntity = new RoleEntity();
+ Long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId();
if(StrUtil.isNotEmpty(adminRoleDto.getRoleName())){
roleEntity.setRoleName(adminRoleDto.getRoleName());
+ }
+ if(companyId > UserEntity.USER_BELONG_TOP){
+ roleEntity.setCompanyId(companyId);
}
IPage<AdminRoleVo> list = this.baseMapper.selectAdminRoleVoInPage(page,roleEntity);
return Result.ok(list);
@@ -58,20 +64,16 @@
@Override
@Transactional
public Result addRole(AdminAddRoleDto adminAddRoleDto) {
+ UserEntity userlogin = LoginUserUtil.getLoginUser();
String roleName = adminAddRoleDto.getRoleName();
- if(StrUtil.isEmpty(roleName)){
- return Result.fail("请输入角色名称");
- }
String menuIds = adminAddRoleDto.getMenuIds();
- if(StrUtil.isEmpty(menuIds)){
- return Result.fail("请选择角色权限");
- }
RoleEntity roleEntity = new RoleEntity();
String remark = adminAddRoleDto.getRemark();
if(StrUtil.isNotEmpty(remark)){
roleEntity.setRemark(remark);
}
roleEntity.setRoleName(roleName);
+ roleEntity.setCompanyId(userlogin.getCompanyId() == null?UserEntity.USER_BELONG_TOP:userlogin.getCompanyId());
int insert = this.baseMapper.insert(roleEntity);
if(insert > 0){
saveRoleMenus(menuIds,roleEntity.getId());
@@ -116,9 +118,17 @@
if(CollUtil.isNotEmpty(roleMenuEntities)){
List<Long> menuIds = new ArrayList<>();
for(RoleMenuEntity roleMenuEntity : roleMenuEntities){
- MenuEntity menuEntity = menuMapper.selectMenuEntityByIdAndParentId(roleMenuEntity.getMenuId(),MenuEntity.PARENTID_DEFAULT);
- if(ObjectUtil.isNotEmpty(menuEntity)){
- menuIds.add(menuEntity.getId());
+// //这个子菜单
+// MenuEntity menuEntity = menuMapper.selectMenuEntityByIdAndParentId(roleMenuEntity.getMenuId(),MenuEntity.PARENTID_DEFAULT);
+// if(ObjectUtil.isNotEmpty(menuEntity)){
+// menuIds.add(menuEntity.getId());
+// }
+ //查询该角色拥有的菜单栏是否拥有子菜单
+ QueryWrapper<MenuEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("parent_id",roleMenuEntity.getMenuId());
+ List<MenuEntity> menuEntities = menuMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isEmpty(menuEntities)){
+ menuIds.add(roleMenuEntity.getMenuId());
}
}
adminSeeRoleInfoVo.setMenuIds(menuIds);
@@ -162,7 +172,11 @@
String[] roleIds = ids.split(StringPool.COMMA);
for(String roleIdStr : roleIds){
Long roleId = Long.valueOf(roleIdStr);
-
+ RoleEntity roleEntity = this.baseMapper.selectById(roleId);
+ if(RoleEntity.ROLE_ADMIN_NAME.equals(roleEntity.getRoleName())
+ || RoleEntity.ROLE_SUPER_NAME.equals(roleEntity.getRoleName())){
+ return Result.fail(RoleEntity.ROLE_ADMIN_NAME + RoleEntity.ROLE_SUPER_NAME +"角色无法删除");
+ }
QueryWrapper<UserRoleEntity> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("role_id",roleId);
userRoleMapper.delete(objectQueryWrapper);
--
Gitblit v1.9.1