From 33cd99e2509c88ce838ec2c68f2d36de80e27a6c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 07 Jun 2022 10:15:17 +0800 Subject: [PATCH] 20220606 --- src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 40 insertions(+), 15 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 f95c35a..8411b92 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 @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.farmer.cms.common.response.Result; import com.xcong.farmer.cms.modules.system.dto.AdminAddRoleDto; +import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto; import com.xcong.farmer.cms.modules.system.dto.AdminRoleDto; import com.xcong.farmer.cms.modules.system.dto.AdminUpdateRoleDto; import com.xcong.farmer.cms.modules.system.entity.*; @@ -94,6 +95,10 @@ return Result.fail("当前角色下还有用户,请重新分配角色"); } this.baseMapper.deleteById(id); + + QueryWrapper<RoleMenuEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("role_id",id); + roleMenuMapper.delete(queryWrapper); return Result.ok("删除成功"); } @@ -109,15 +114,22 @@ adminSeeRoleInfoVo.setRemark(roleEntity.getRemark()); List<RoleMenuEntity> roleMenuEntities = roleMenuMapper.selectListByRoleId(id); if(CollUtil.isNotEmpty(roleMenuEntities)){ - List<AdminMenuInfoVo> adminMenuInfoVos = new ArrayList<>(); + List<Long> menuIds = new ArrayList<>(); for(RoleMenuEntity roleMenuEntity : roleMenuEntities){ - MenuEntity menuEntity = menuMapper.selectById(roleMenuEntity.getMenuId()); - AdminMenuInfoVo adminMenuInfoVo = new AdminMenuInfoVo(); - adminMenuInfoVo.setId(menuEntity.getId()); - adminMenuInfoVo.setMenuName(menuEntity.getMenuName()); - adminMenuInfoVos.add(adminMenuInfoVo); +// //这个子菜单 +// 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.setMenuInfoVos(adminMenuInfoVos); + adminSeeRoleInfoVo.setMenuIds(menuIds); } return Result.ok(adminSeeRoleInfoVo); } @@ -147,17 +159,30 @@ if(StrUtil.isNotEmpty(menuIds)){ saveRoleMenus(menuIds,id); } + return Result.ok("更新成功"); + } - QueryWrapper<UserEntity> userWrapper = new QueryWrapper<>(); - userWrapper.eq("role_id",id); - List<UserEntity> userEntities = userMapper.selectList(userWrapper); - if(CollUtil.isNotEmpty(userEntities)){ - for(UserEntity userEntity : userEntities){ - userEntity.setRoleName(roleName); - userMapper.updateById(userEntity); + @Override + @Transactional + public Result delObjs(AdminDeleteDto adminDeleteDto) { + String ids = adminDeleteDto.getIds(); + if(StrUtil.isNotEmpty(ids)){ + String[] roleIds = ids.split(StringPool.COMMA); + for(String roleIdStr : roleIds){ + Long roleId = Long.valueOf(roleIdStr); + + QueryWrapper<UserRoleEntity> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("role_id",roleId); + userRoleMapper.delete(objectQueryWrapper); + + QueryWrapper<RoleMenuEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("role_id",roleId); + roleMenuMapper.delete(queryWrapper); + + this.baseMapper.deleteById(roleId); } } - return Result.ok("更新成功"); + return Result.ok("删除成功"); } private void saveRoleMenus(String menuIds,Long roleId) { -- Gitblit v1.9.1