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 | 49 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 42 insertions(+), 7 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 1699bef..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); } @@ -150,6 +162,29 @@ return Result.ok("更新成功"); } + @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("删除成功"); + } + private void saveRoleMenus(String menuIds,Long roleId) { if (StrUtil.isNotEmpty(menuIds)) { String[] menuIdList = menuIds.split(StringPool.COMMA); -- Gitblit v1.9.1