cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java

128 lines
3.1 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.muyu.common.system.domain;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.annotation.Excel.ColumnType;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.SuperBuilder;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.util.Set;
/**
* 角色表 sys_role
*
* @author muyu
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysRole extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 角色ID
*/
@Excel(name = "角色序号", cellType = ColumnType.NUMERIC)
private Long roleId;
/**
* 角色名称
*/
@Excel(name = "角色名称")
private String roleName;
/**
* 角色权限
*/
@Excel(name = "角色权限")
private String roleKey;
/**
* 角色排序
*/
@Excel(name = "角色排序")
private Integer roleSort;
/**
* 数据范围1所有数据权限2自定义数据权限3本部门数据权限4本部门及以下数据权限5仅本人数据权限
*/
@Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
private String dataScope;
/**
* 菜单树选择项是否关联显示( 0父子不互相关联显示 1父子互相关联显示
*/
private boolean menuCheckStrictly;
/**
* 部门树选择项是否关联显示0父子不互相关联显示 1父子互相关联显示
*/
private boolean deptCheckStrictly;
/**
* 角色状态0正常 1停用
*/
@Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
private String status;
/**
* 删除标志0代表存在 2代表删除
*/
private String delFlag;
/**
* 用户是否存在此角色标识 默认不存在
*/
private boolean flag = false;
/**
* 菜单组
*/
private Long[] menuIds;
/**
* 部门组(数据权限)
*/
private Long[] deptIds;
/**
* 角色菜单权限
*/
private Set<String> permissions;
public SysRole (Long roleId) {
this.roleId = roleId;
}
public static boolean isAdmin (Long roleId) {
return roleId != null && 1L == roleId;
}
public boolean isAdmin () {
return isAdmin(this.roleId);
}
@NotBlank(message = "角色名称不能为空")
@Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符")
public String getRoleName () {
return roleName;
}
@NotBlank(message = "权限字符不能为空")
@Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符")
public String getRoleKey () {
return roleKey;
}
@NotNull(message = "显示顺序不能为空")
public Integer getRoleSort () {
return roleSort;
}
}