mirror of https://gitee.com/stylefeng/roses
【8.1.0】【role】更新角色类型字段和枚举
parent
a196bdc0fd
commit
eb1062944d
|
@ -0,0 +1,59 @@
|
|||
package cn.stylefeng.roses.kernel.sys.api.enums.role;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 角色类型
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024/1/15 23:27
|
||||
*/
|
||||
@Getter
|
||||
public enum RoleTypeEnum implements ReadableEnum<RoleTypeEnum> {
|
||||
|
||||
/**
|
||||
* 系统角色
|
||||
*/
|
||||
SYSTEM_ROLE(10, "系统角色"),
|
||||
|
||||
/**
|
||||
* 公司角色
|
||||
*/
|
||||
COMPANY_ROLE(20, "公司角色");
|
||||
|
||||
private final Integer code;
|
||||
|
||||
private final String name;
|
||||
|
||||
RoleTypeEnum(Integer code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getKey() {
|
||||
return code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RoleTypeEnum parseToEnum(String originValue) {
|
||||
if (ObjectUtil.isEmpty(originValue)) {
|
||||
return null;
|
||||
}
|
||||
for (RoleTypeEnum value : RoleTypeEnum.values()) {
|
||||
if (value.code.equals(Convert.toInt(originValue))) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -69,11 +69,18 @@ public class SysRole extends BaseExpandFieldEntity {
|
|||
private String remark;
|
||||
|
||||
/**
|
||||
* 是否是系统角色:Y-是,N-否。系统角色不能删除
|
||||
* 角色类型:10-系统角色,20-公司角色
|
||||
*/
|
||||
@TableField("role_system_flag")
|
||||
@ChineseDescription("是否是系统角色:Y-是,N-否。系统角色不能删除")
|
||||
private String roleSystemFlag;
|
||||
@TableField("role_type")
|
||||
@ChineseDescription("角色类型:10-系统角色,20-公司角色")
|
||||
private Integer roleType;
|
||||
|
||||
/**
|
||||
* 角色所属公司id,当角色类型为20时传此值
|
||||
*/
|
||||
@TableField("role_company_id")
|
||||
@ChineseDescription("角色所属公司id,当角色类型为20时传此值")
|
||||
private Long roleCompanyId;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
|
|
|
@ -12,12 +12,12 @@ 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.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.log.api.util.BusinessLogUtil;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||
import cn.stylefeng.roses.kernel.sys.api.SysUserRoleServiceApi;
|
||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
|
||||
import cn.stylefeng.roses.kernel.sys.api.enums.permission.DataScopeTypeEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.api.enums.role.RoleTypeEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.role.SysRoleDTO;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuOptionsService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRole;
|
||||
|
@ -78,7 +78,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|||
SysRole sysRole = this.querySysRole(sysRoleRequest);
|
||||
|
||||
// 系统角色不能被删除
|
||||
if (YesOrNotEnum.Y.getCode().equals(sysRole.getRoleSystemFlag())) {
|
||||
if (RoleTypeEnum.SYSTEM_ROLE.getCode().equals(sysRole.getRoleType())) {
|
||||
throw new ServiceException(SysRoleExceptionEnum.SYSTEM_ROLE_CANT_DELETE);
|
||||
}
|
||||
|
||||
|
@ -104,7 +104,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|||
// 校验被删除的角色中是否有管理员角色
|
||||
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysRole::getRoleId, sysRoleRequest.getRoleIdList());
|
||||
queryWrapper.eq(SysRole::getRoleSystemFlag, YesOrNotEnum.Y.getCode());
|
||||
queryWrapper.eq(SysRole::getRoleType, RoleTypeEnum.SYSTEM_ROLE.getCode());
|
||||
long haveSystemFlagCount = this.count(queryWrapper);
|
||||
if (haveSystemFlagCount > 0) {
|
||||
throw new ServiceException(SysRoleExceptionEnum.SYSTEM_ROLE_CANT_DELETE);
|
||||
|
|
Loading…
Reference in New Issue