唐耀东
2021-12-01 ac56d8fbfbe82096da31ed9f73bc29308284edfe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.ruoyi.common.core.domain.entity;
 
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
 
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
 
/**
 * 角色表 sys_role
 *
 * @author Lion Li
 */
 
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_role")
@ExcelIgnoreUnannotated
public class SysRole extends BaseEntity {
 
    /**
     * 角色ID
     */
    @ApiModelProperty(value = "角色ID")
    @ExcelProperty(value = "角色序号")
    @TableId(value = "role_id")
    private Long roleId;
 
    /**
     * 角色名称
     */
    @ApiModelProperty(value = "角色名称")
    @ExcelProperty(value = "角色名称")
    @NotBlank(message = "角色名称不能为空")
    @Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符")
    private String roleName;
 
    /**
     * 角色权限
     */
    @ApiModelProperty(value = "角色权限")
    @ExcelProperty(value = "角色权限")
    @NotBlank(message = "权限字符不能为空")
    @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符")
    private String roleKey;
 
    /**
     * 角色排序
     */
    @ApiModelProperty(value = "角色排序")
    @ExcelProperty(value = "角色排序")
    @NotBlank(message = "显示顺序不能为空")
    private String roleSort;
 
    /**
     * 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限)
     */
    @ApiModelProperty(value = "数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限)")
    @ExcelProperty(value = "数据范围", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
    private String dataScope;
 
    /**
     * 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示)
     */
    @ApiModelProperty(value = "菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示)")
    private boolean menuCheckStrictly;
 
    /**
     * 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 )
     */
    @ApiModelProperty(value = "部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 )")
    private boolean deptCheckStrictly;
 
    /**
     * 角色状态(0正常 1停用)
     */
    @ApiModelProperty(value = "角色状态(0正常 1停用)")
    @ExcelProperty(value = "角色状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_common_status")
    private String status;
 
    /**
     * 删除标志(0代表存在 2代表删除)
     */
    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
    @TableLogic
    private String delFlag;
 
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
 
    /**
     * 用户是否存在此角色标识 默认不存在
     */
    @ApiModelProperty(value = "用户是否存在此角色标识 默认不存在")
    @TableField(exist = false)
    private boolean flag = false;
 
    /**
     * 菜单组
     */
    @ApiModelProperty(value = "菜单组")
    @TableField(exist = false)
    private Long[] menuIds;
 
    /**
     * 部门组(数据权限)
     */
    @ApiModelProperty(value = "部门组(数据权限)")
    @TableField(exist = false)
    private Long[] deptIds;
 
    public SysRole(Long roleId) {
        this.roleId = roleId;
    }
 
    @ApiModelProperty(value = "是否管理员")
    public boolean isAdmin() {
        return isAdmin(this.roleId);
    }
 
    public static boolean isAdmin(Long roleId) {
        return roleId != null && 1L == roleId;
    }
 
}