diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java index 4d30911..a93bbb0 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java @@ -218,6 +218,7 @@ public class SysRoleController { //update-begin---author:wangshuai---date:2024-01-16---for:【QQYUN-7974】禁止删除 admin 角色--- //是否存在admin角色 sysRoleService.checkAdminRoleRejectDel(id); + sysRoleService.checkRoleUsed(id); //update-end---author:wangshuai---date:2024-01-16---for:【QQYUN-7974】禁止删除 admin 角色--- sysRoleService.deleteRole(id); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/service/ISysRoleService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/service/ISysRoleService.java index cd63d9f..be70d45 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/service/ISysRoleService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/service/ISysRoleService.java @@ -74,4 +74,6 @@ public interface ISysRoleService extends IService { * @param ids */ void checkAdminRoleRejectDel(String ids); + + void checkRoleUsed(String id); } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java index dac88e8..47dbeea 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java @@ -1,6 +1,7 @@ package org.jeecg.modules.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.api.vo.Result; @@ -9,6 +10,7 @@ import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.util.ImportExcelUtil; import org.jeecg.modules.system.entity.SysRole; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.mapper.SysRoleMapper; import org.jeecg.modules.system.mapper.SysUserMapper; import org.jeecg.modules.system.service.ISysRoleService; @@ -116,4 +118,13 @@ public class SysRoleServiceImpl extends ServiceImpl impl throw new JeecgBootException("admin角色,不允许删除!"); } } + + @Override + public void checkRoleUsed(String roleId) { + Page page = new Page<>(1, 10000); + IPage userRoleList = sysUserMapper.getUserByRoleId(page, roleId, null, null); + if (userRoleList.getTotal() > 0) { + throw new JeecgBootException("角色已被用户使用,不允许删除!"); + } + } }