mirror of https://gitee.com/stylefeng/roses
【7.6.0】【sys】【role】更新删除角色的接口
parent
45eac5e7d4
commit
4a6bcd80b6
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi;
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserRole;
|
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserRole;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserRoleExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserRoleExceptionEnum;
|
||||||
|
@ -29,7 +30,7 @@ import java.util.Set;
|
||||||
* @date 2023/06/10 21:26
|
* @date 2023/06/10 21:26
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService, RemoveUserCallbackApi {
|
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService, RemoveUserCallbackApi, RemoveRoleCallbackApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysUserRoleRequest sysUserRoleRequest) {
|
public void add(SysUserRoleRequest sysUserRoleRequest) {
|
||||||
|
@ -101,6 +102,18 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
|
||||||
this.remove(sysUserRoleLambdaQueryWrapper);
|
this.remove(sysUserRoleLambdaQueryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void validateHaveRoleBind(Set<Long> beRemovedRoleIdList) {
|
||||||
|
// none
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRoleAction(Set<Long> beRemovedRoleIdList) {
|
||||||
|
LambdaQueryWrapper<SysUserRole> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(SysUserRole::getRoleId, beRemovedRoleIdList);
|
||||||
|
this.remove(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取信息
|
* 获取信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -21,7 +21,12 @@ public enum SysRoleExceptionEnum implements AbstractExceptionEnum {
|
||||||
/**
|
/**
|
||||||
* 角色编码不能被修改
|
* 角色编码不能被修改
|
||||||
*/
|
*/
|
||||||
SUPER_ADMIN_ROLE_CODE_ERROR(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10002", "角色编码不能被修改");
|
SUPER_ADMIN_ROLE_CODE_ERROR(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10002", "角色编码不能被修改"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 超级管理员不能被删除
|
||||||
|
*/
|
||||||
|
SYSTEM_ROLE_CANT_DELETE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10003", "系统角色不能被删除");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 错误编码
|
* 错误编码
|
||||||
|
|
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleDataScope;
|
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleDataScope;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleDataScopeExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleDataScopeExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleDataScopeMapper;
|
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleDataScopeMapper;
|
||||||
|
@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色数据范围业务实现层
|
* 角色数据范围业务实现层
|
||||||
|
@ -25,9 +27,9 @@ import java.util.List;
|
||||||
* @date 2023/06/10 21:29
|
* @date 2023/06/10 21:29
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SysRoleDataScopeServiceImpl extends ServiceImpl<SysRoleDataScopeMapper, SysRoleDataScope> implements SysRoleDataScopeService {
|
public class SysRoleDataScopeServiceImpl extends ServiceImpl<SysRoleDataScopeMapper, SysRoleDataScope> implements SysRoleDataScopeService, RemoveRoleCallbackApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysRoleDataScopeRequest sysRoleDataScopeRequest) {
|
public void add(SysRoleDataScopeRequest sysRoleDataScopeRequest) {
|
||||||
SysRoleDataScope sysRoleDataScope = new SysRoleDataScope();
|
SysRoleDataScope sysRoleDataScope = new SysRoleDataScope();
|
||||||
BeanUtil.copyProperties(sysRoleDataScopeRequest, sysRoleDataScope);
|
BeanUtil.copyProperties(sysRoleDataScopeRequest, sysRoleDataScope);
|
||||||
|
@ -65,6 +67,18 @@ public class SysRoleDataScopeServiceImpl extends ServiceImpl<SysRoleDataScopeMap
|
||||||
return this.list(wrapper);
|
return this.list(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void validateHaveRoleBind(Set<Long> beRemovedRoleIdList) {
|
||||||
|
// none
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRoleAction(Set<Long> beRemovedRoleIdList) {
|
||||||
|
LambdaQueryWrapper<SysRoleDataScope> sysRoleDataScopeLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
sysRoleDataScopeLambdaQueryWrapper.in(SysRoleDataScope::getRoleId, beRemovedRoleIdList);
|
||||||
|
this.remove(sysRoleDataScopeLambdaQueryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取信息
|
* 获取信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions;
|
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleMenuOptionsExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleMenuOptionsExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMenuOptionsMapper;
|
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMenuOptionsMapper;
|
||||||
|
@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色和菜单下的功能关联业务实现层
|
* 角色和菜单下的功能关联业务实现层
|
||||||
|
@ -25,9 +27,9 @@ import java.util.List;
|
||||||
* @date 2023/06/10 21:29
|
* @date 2023/06/10 21:29
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOptionsMapper, SysRoleMenuOptions> implements SysRoleMenuOptionsService {
|
public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOptionsMapper, SysRoleMenuOptions> implements SysRoleMenuOptionsService, RemoveRoleCallbackApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) {
|
public void add(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) {
|
||||||
SysRoleMenuOptions sysRoleMenuOptions = new SysRoleMenuOptions();
|
SysRoleMenuOptions sysRoleMenuOptions = new SysRoleMenuOptions();
|
||||||
BeanUtil.copyProperties(sysRoleMenuOptionsRequest, sysRoleMenuOptions);
|
BeanUtil.copyProperties(sysRoleMenuOptionsRequest, sysRoleMenuOptions);
|
||||||
|
@ -65,6 +67,18 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOption
|
||||||
return this.list(wrapper);
|
return this.list(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void validateHaveRoleBind(Set<Long> beRemovedRoleIdList) {
|
||||||
|
// none
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRoleAction(Set<Long> beRemovedRoleIdList) {
|
||||||
|
LambdaQueryWrapper<SysRoleMenuOptions> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(SysRoleMenuOptions::getRoleId, beRemovedRoleIdList);
|
||||||
|
this.remove(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取信息
|
* 获取信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenu;
|
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenu;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleMenuExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleMenuExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMenuMapper;
|
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMenuMapper;
|
||||||
|
@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色菜单关联业务实现层
|
* 角色菜单关联业务实现层
|
||||||
|
@ -25,9 +27,9 @@ import java.util.List;
|
||||||
* @date 2023/06/10 21:29
|
* @date 2023/06/10 21:29
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {
|
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService, RemoveRoleCallbackApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysRoleMenuRequest sysRoleMenuRequest) {
|
public void add(SysRoleMenuRequest sysRoleMenuRequest) {
|
||||||
SysRoleMenu sysRoleMenu = new SysRoleMenu();
|
SysRoleMenu sysRoleMenu = new SysRoleMenu();
|
||||||
BeanUtil.copyProperties(sysRoleMenuRequest, sysRoleMenu);
|
BeanUtil.copyProperties(sysRoleMenuRequest, sysRoleMenu);
|
||||||
|
@ -65,6 +67,18 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
|
||||||
return this.list(wrapper);
|
return this.list(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void validateHaveRoleBind(Set<Long> beRemovedRoleIdList) {
|
||||||
|
// none
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRoleAction(Set<Long> beRemovedRoleIdList) {
|
||||||
|
LambdaQueryWrapper<SysRoleMenu> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(SysRoleMenu::getRoleId, beRemovedRoleIdList);
|
||||||
|
this.remove(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取信息
|
* 获取信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleResource;
|
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleResource;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleResourceExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleResourceExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleResourceMapper;
|
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleResourceMapper;
|
||||||
|
@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色资源关联业务实现层
|
* 角色资源关联业务实现层
|
||||||
|
@ -25,9 +27,9 @@ import java.util.List;
|
||||||
* @date 2023/06/10 21:29
|
* @date 2023/06/10 21:29
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SysRoleResourceServiceImpl extends ServiceImpl<SysRoleResourceMapper, SysRoleResource> implements SysRoleResourceService {
|
public class SysRoleResourceServiceImpl extends ServiceImpl<SysRoleResourceMapper, SysRoleResource> implements SysRoleResourceService, RemoveRoleCallbackApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysRoleResourceRequest sysRoleResourceRequest) {
|
public void add(SysRoleResourceRequest sysRoleResourceRequest) {
|
||||||
SysRoleResource sysRoleResource = new SysRoleResource();
|
SysRoleResource sysRoleResource = new SysRoleResource();
|
||||||
BeanUtil.copyProperties(sysRoleResourceRequest, sysRoleResource);
|
BeanUtil.copyProperties(sysRoleResourceRequest, sysRoleResource);
|
||||||
|
@ -65,6 +67,18 @@ public class SysRoleResourceServiceImpl extends ServiceImpl<SysRoleResourceMappe
|
||||||
return this.list(wrapper);
|
return this.list(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void validateHaveRoleBind(Set<Long> beRemovedRoleIdList) {
|
||||||
|
// none
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRoleAction(Set<Long> beRemovedRoleIdList) {
|
||||||
|
LambdaQueryWrapper<SysRoleResource> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(SysRoleResource::getRoleId, beRemovedRoleIdList);
|
||||||
|
this.remove(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取信息
|
* 获取信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,13 +1,17 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.role.service.impl;
|
package cn.stylefeng.roses.kernel.sys.modular.role.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.enums.DataScopeTypeEnum;
|
import cn.stylefeng.roses.kernel.auth.api.enums.DataScopeTypeEnum;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
|
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
|
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRole;
|
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRole;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMapper;
|
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMapper;
|
||||||
|
@ -17,8 +21,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统角色业务实现层
|
* 系统角色业务实现层
|
||||||
|
@ -41,8 +47,27 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void del(SysRoleRequest sysRoleRequest) {
|
public void del(SysRoleRequest sysRoleRequest) {
|
||||||
SysRole sysRole = this.querySysRole(sysRoleRequest);
|
SysRole sysRole = this.querySysRole(sysRoleRequest);
|
||||||
|
|
||||||
|
// 系统角色不能被删除
|
||||||
|
if (YesOrNotEnum.Y.getCode().equals(sysRole.getRoleSystemFlag())) {
|
||||||
|
throw new ServiceException(SysRoleExceptionEnum.SYSTEM_ROLE_CANT_DELETE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行角色相关的校验
|
||||||
|
Map<String, RemoveRoleCallbackApi> callbackApiMap = SpringUtil.getBeansOfType(RemoveRoleCallbackApi.class);
|
||||||
|
for (RemoveRoleCallbackApi removeRoleCallbackApi : callbackApiMap.values()) {
|
||||||
|
removeRoleCallbackApi.validateHaveRoleBind(CollectionUtil.set(false, sysRole.getRoleId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行角色相关关联业务的删除操作
|
||||||
|
for (RemoveRoleCallbackApi removeRoleCallbackApi : callbackApiMap.values()) {
|
||||||
|
removeRoleCallbackApi.removeRoleAction(CollectionUtil.set(false, sysRole.getRoleId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除角色
|
||||||
this.removeById(sysRole.getRoleId());
|
this.removeById(sysRole.getRoleId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue