package org.ruoyi.system.domain.bo; import org.ruoyi.common.core.constant.UserConstants; import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.system.domain.SysRole; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; /** * 角色信息业务对象 sys_role * * @author Michelle.Chung */ @Data @NoArgsConstructor @EqualsAndHashCode(callSuper = true) @AutoMapper(target = SysRole.class, reverseConvertGenerate = false) public class SysRoleBo extends BaseEntity { /** * 角色ID */ @NotNull(message = "角色ID不能为空", groups = { EditGroup.class }) private Long roleId; /** * 角色名称 */ @NotBlank(message = "角色名称不能为空", groups = { AddGroup.class, EditGroup.class }) @Size(min = 0, max = 30, message = "角色名称长度不能超过{max}个字符") private String roleName; /** * 角色权限字符串 */ @NotBlank(message = "角色权限字符串不能为空", groups = { AddGroup.class, EditGroup.class }) @Size(min = 0, max = 100, message = "权限字符长度不能超过{max}个字符") private String roleKey; /** * 显示顺序 */ @NotNull(message = "显示顺序不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer roleSort; /** * 数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限) */ private String dataScope; /** * 菜单树选择项是否关联显示 */ private Boolean menuCheckStrictly; /** * 部门树选择项是否关联显示 */ private Boolean deptCheckStrictly; /** * 角色状态(0正常 1停用) */ private String status; /** * 备注 */ private String remark; /** * 菜单组 */ private Long[] menuIds; /** * 部门组(数据权限) */ private Long[] deptIds; public SysRoleBo(Long roleId) { this.roleId = roleId; } public boolean isSuperAdmin() { return UserConstants.SUPER_ADMIN_ID.equals(this.roleId); } }