mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-11-04 10:57:10 +08:00 
			
		
		
		
	优化:调整部门、菜单、角色、用户删除的代码逻辑顺序,先删除关联再删除主体
This commit is contained in:
		@@ -109,12 +109,12 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptVO,
 | 
			
		||||
            isSystemData.orElseGet(DeptDO::new).getName());
 | 
			
		||||
        CheckUtils.throwIf(userService.countByDeptIds(ids) > 0, "所选部门存在用户关联,请解除关联后重试");
 | 
			
		||||
 | 
			
		||||
        // 删除部门
 | 
			
		||||
        super.delete(ids);
 | 
			
		||||
        // 删除子部门
 | 
			
		||||
        baseMapper.lambdaUpdate().in(DeptDO::getParentId, ids).remove();
 | 
			
		||||
        // 删除角色和部门关联
 | 
			
		||||
        roleDeptService.deleteByDeptIds(ids);
 | 
			
		||||
        // 删除子部门
 | 
			
		||||
        baseMapper.lambdaUpdate().in(DeptDO::getParentId, ids).remove();
 | 
			
		||||
        // 删除部门
 | 
			
		||||
        super.delete(ids);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
@@ -70,8 +70,8 @@ public class MenuServiceImpl extends BaseServiceImpl<MenuMapper, MenuDO, MenuVO,
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public void delete(List<Long> ids) {
 | 
			
		||||
        super.delete(ids);
 | 
			
		||||
        baseMapper.lambdaUpdate().in(MenuDO::getParentId, ids).remove();
 | 
			
		||||
        super.delete(ids);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
@@ -114,12 +114,12 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO,
 | 
			
		||||
            isSystemData.orElseGet(RoleDO::new).getName());
 | 
			
		||||
        CheckUtils.throwIf(userRoleService.countByRoleIds(ids) > 0, "所选角色存在用户关联,请解除关联后重试");
 | 
			
		||||
 | 
			
		||||
        // 删除角色
 | 
			
		||||
        super.delete(ids);
 | 
			
		||||
        // 删除角色和菜单关联
 | 
			
		||||
        roleMenuService.deleteByRoleIds(ids);
 | 
			
		||||
        // 删除角色和部门关联
 | 
			
		||||
        roleDeptService.deleteByRoleIds(ids);
 | 
			
		||||
        // 删除角色
 | 
			
		||||
        super.delete(ids);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
@@ -125,10 +125,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
 | 
			
		||||
        CheckUtils.throwIf(isSystemData::isPresent, "所选用户 [{}] 是系统内置用户,不允许删除",
 | 
			
		||||
            isSystemData.orElseGet(UserDO::new).getNickname());
 | 
			
		||||
 | 
			
		||||
        // 删除用户
 | 
			
		||||
        super.delete(ids);
 | 
			
		||||
        // 删除用户和角色关联
 | 
			
		||||
        userRoleService.deleteByUserIds(ids);
 | 
			
		||||
        // 删除用户
 | 
			
		||||
        super.delete(ids);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user