From 936dbe1f11369f9e03ef817a114390e6e13219c4 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 01 Jun 2022 16:52:29 +0800
Subject: [PATCH] 20220527

---
 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/RoleServiceImpl.java |   41 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 34 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..7029418 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,14 @@
         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());
+                }
             }
-            adminSeeRoleInfoVo.setMenuInfoVos(adminMenuInfoVos);
+            adminSeeRoleInfoVo.setMenuIds(menuIds);
         }
         return Result.ok(adminSeeRoleInfoVo);
     }
@@ -150,6 +154,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