diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/enums/SysRoleExceptionEnum.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/enums/SysRoleExceptionEnum.java index 4bdd0c20d..97d1a9d94 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/enums/SysRoleExceptionEnum.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/enums/SysRoleExceptionEnum.java @@ -16,7 +16,12 @@ public enum SysRoleExceptionEnum implements AbstractExceptionEnum { /** * 查询结果不存在 */ - SYS_ROLE_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在"); + SYS_ROLE_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在"), + + /** + * 角色编码不能被修改 + */ + SUPER_ADMIN_ROLE_CODE_ERROR(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10002", "角色编码不能被修改"); /** * 错误编码 diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleServiceImpl.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleServiceImpl.java index 54cd1e96f..1a3574241 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleServiceImpl.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleServiceImpl.java @@ -49,6 +49,12 @@ public class SysRoleServiceImpl extends ServiceImpl impl @Override public void edit(SysRoleRequest sysRoleRequest) { SysRole sysRole = this.querySysRole(sysRoleRequest); + + // 不允许修改角色编码 + if (!sysRole.getRoleCode().equals(sysRoleRequest.getRoleCode())) { + throw new ServiceException(SysRoleExceptionEnum.SUPER_ADMIN_ROLE_CODE_ERROR); + } + BeanUtil.copyProperties(sysRoleRequest, sysRole); this.updateById(sysRole); }