Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
计算机应用开发
后
后端
J
Java
后台管理
Ruoyi Vue Pro
提交
95bb9744
R
Ruoyi Vue Pro
项目概览
计算机应用开发
/
后端
/
Java
/
后台管理
/
Ruoyi Vue Pro
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Ruoyi Vue Pro
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
95bb9744
编写于
2月 23, 2022
作者:
公众号-芋道源码
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新建角色的时候,不允许创建 ADMIN 标识的角色
上级
848fcdf3
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
14 addition
and
4 deletion
+14
-4
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java
...iocoder/yudao/module/system/enums/ErrorCodeConstants.java
+2
-1
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/enums/permission/RoleCodeEnum.java
...er/yudao/module/system/enums/permission/RoleCodeEnum.java
+5
-0
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java
...dao/module/system/service/permission/RoleServiceImpl.java
+7
-3
未找到文件。
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java
浏览文件 @
95bb9744
...
...
@@ -31,7 +31,8 @@ public interface ErrorCodeConstants {
ErrorCode
ROLE_NAME_DUPLICATE
=
new
ErrorCode
(
1002003001
,
"已经存在名为【{}】的角色"
);
ErrorCode
ROLE_CODE_DUPLICATE
=
new
ErrorCode
(
1002003002
,
"已经存在编码为【{}】的角色"
);
ErrorCode
ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE
=
new
ErrorCode
(
1002003004
,
"不能操作类型为系统内置的角色"
);
ErrorCode
ROLE_IS_DISABLE
=
new
ErrorCode
(
1002003004
,
"名字为【{}】的角色已被禁用"
);
ErrorCode
ROLE_IS_DISABLE
=
new
ErrorCode
(
1002003005
,
"名字为【{}】的角色已被禁用"
);
ErrorCode
ROLE_ADMIN_CODE_ERROR
=
new
ErrorCode
(
1002003006
,
"编码【{}】不能使用"
);
// ========== 用户模块 1002004000 ==========
ErrorCode
USER_USERNAME_EXISTS
=
new
ErrorCode
(
1002004000
,
"用户账号已经存在"
);
...
...
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/enums/permission/RoleCodeEnum.java
浏览文件 @
95bb9744
package
cn.iocoder.yudao.module.system.enums.permission
;
import
cn.iocoder.yudao.framework.common.util.object.ObjectUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
...
...
@@ -23,4 +24,8 @@ public enum RoleCodeEnum {
*/
private
final
String
name
;
public
static
boolean
isSuperAdmin
(
String
code
)
{
return
ObjectUtils
.
equalsAny
(
code
,
SUPER_ADMIN
.
getCode
());
}
}
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java
浏览文件 @
95bb9744
...
...
@@ -136,7 +136,7 @@ public class RoleServiceImpl implements RoleService {
@Override
public
void
updateRole
(
RoleUpdateReqVO
reqVO
)
{
// 校验是否可以更新
this
.
checkUpdateRole
(
reqVO
.
getId
());
checkUpdateRole
(
reqVO
.
getId
());
// 校验角色的唯一字段是否重复
checkDuplicateRole
(
reqVO
.
getName
(),
reqVO
.
getCode
(),
reqVO
.
getId
());
// 更新到数据库
...
...
@@ -149,7 +149,7 @@ public class RoleServiceImpl implements RoleService {
@Override
public
void
updateRoleStatus
(
Long
id
,
Integer
status
)
{
// 校验是否可以更新
this
.
checkUpdateRole
(
id
);
checkUpdateRole
(
id
);
// 更新状态
RoleDO
updateObject
=
new
RoleDO
();
updateObject
.
setId
(
id
);
...
...
@@ -217,7 +217,7 @@ public class RoleServiceImpl implements RoleService {
if
(
CollectionUtil
.
isEmpty
(
roleList
))
{
return
false
;
}
return
roleList
.
stream
().
anyMatch
(
role
DO
->
RoleCodeEnum
.
SUPER_ADMIN
.
getCode
().
equals
(
roleDO
.
getCode
()));
return
roleList
.
stream
().
anyMatch
(
role
->
RoleCodeEnum
.
isSuperAdmin
(
role
.
getCode
()));
}
@Override
...
...
@@ -247,6 +247,10 @@ public class RoleServiceImpl implements RoleService {
*/
@VisibleForTesting
public
void
checkDuplicateRole
(
String
name
,
String
code
,
Long
id
)
{
// 0. 超级管理员,不允许创建
if
(
RoleCodeEnum
.
isSuperAdmin
(
code
))
{
throw
exception
(
ROLE_ADMIN_CODE_ERROR
,
code
);
}
// 1. 该 name 名字被其它角色所使用
RoleDO
role
=
roleMapper
.
selectByName
(
name
);
if
(
role
!=
null
&&
!
role
.
getId
().
equals
(
id
))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录