package com.dl.common.core.domain.entity; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; import com.dl.common.annotation.ExcelDictFormat; import com.dl.common.constant.UserConstants; import com.dl.common.convert.ExcelDictConvert; import com.dl.common.core.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; /** * 角色表 sys_role * * @author Lion Li */ @Data @NoArgsConstructor @EqualsAndHashCode(callSuper = true) @TableName("sys_role") @ExcelIgnoreUnannotated public class SysRole extends BaseEntity { /** * 角色ID */ // @ExcelProperty(value = "角色序号") // @TableId(value = "role_id") // private Long roleId; @TableId(value = "role_id", type = IdType.ASSIGN_UUID) private String roleId; /** * 角色名称 */ @ExcelProperty(value = "角色名称") @NotBlank(message = "角色名称不能为空") @Size(min = 0, max = 30, message = "角色名称长度不能超过{max}个字符") private String roleName; /** * 角色权限 */ @ExcelProperty(value = "角色权限") @NotBlank(message = "权限字符不能为空") @Size(min = 0, max = 100, message = "权限字符长度不能超过{max}个字符") private String roleKey; /** * 角色排序 */ @ExcelProperty(value = "角色排序") @NotNull(message = "显示顺序不能为空") private Integer roleSort; /** * 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ @ExcelProperty(value = "数据范围", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") private String dataScope; /** * 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */ private Boolean menuCheckStrictly; /** * 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */ private Boolean deptCheckStrictly; /** * 角色状态(0正常 1停用) */ @ExcelProperty(value = "角色状态", converter = ExcelDictConvert.class) @ExcelDictFormat(dictType = "sys_normal_disable") private String status; /** * 删除标志(0代表存在 2代表删除) */ @TableLogic private String delFlag; /** * 备注 */ private String remark; /** * 用户是否存在此角色标识 默认不存在 */ @TableField(exist = false) private boolean flag = false; /** * 菜单组 */ @TableField(exist = false) private Long[] menuIds; /** * 部门组(数据权限) */ @TableField(exist = false) private Long[] deptIds; public SysRole(String roleId) { this.roleId = roleId; } public boolean isAdmin() { return UserConstants.ADMIN_ID.equals(this.roleId); } }