content: package org.ruoyi.system.domain.vo;
  
  import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
  import com.alibaba.excel.annotation.ExcelProperty;
  import io.github.linpeilie.annotations.AutoMapper;
  import lombok.Data;
  import org.ruoyi.common.core.constant.UserConstants;
  import org.ruoyi.common.excel.annotation.ExcelDictFormat;
  import org.ruoyi.common.excel.convert.ExcelDictConvert;
  import org.ruoyi.system.domain.SysRole;
  
  import java.io.Serial;
  import java.io.Serializable;
  import java.util.Date;
  
  /**
   * 角色信息视图对象 sys_role
   *
   * @author Michelle.Chung
   */
  @Data
  @ExcelIgnoreUnannotated
  @AutoMapper(target = SysRole.class)
  public class SysRoleVo implements Serializable {
  
      @Serial
      private static final long serialVersionUID = 1L;
  
      /**
       * 角色ID
       */
      @ExcelProperty(value = "角色序号")
      private Long roleId;
  
      /**
       * 角色名称
       */
      @ExcelProperty(value = "角色名称")
      private String roleName;
  
      /**
       * 角色权限字符串
       */
      @ExcelProperty(value = "角色权限")
      private String roleKey;
  
      /**
       * 显示顺序
       */
      @ExcelProperty(value = "角色排序")
      private Integer roleSort;
  
      /**
       * 数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）
       */
      @ExcelProperty(value = "数据范围", converter = ExcelDictConvert.class)
      @ExcelDictFormat(readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
      private String dataScope;
  
      /**
       * 菜单树选择项是否关联显示
       */
      @ExcelProperty(value = "菜单树选择项是否关联显示")
      private Boolean menuCheckStrictly;
  
      /**
       * 部门树选择项是否关联显示
       */
      @ExcelProperty(value = "部门树选择项是否关联显示")
      private Boolean deptCheckStrictly;
  
      /**
       * 角色状态（0正常 1停用）
       */
      @ExcelProperty(value = "角色状态", converter = ExcelDictConvert.class)
      @ExcelDictFormat(dictType = "sys_normal_disable")
      private String status;
  
      /**
       * 备注
       */
      @ExcelProperty(value = "备注")
      private String remark;
  
      /**
       * 创建时间
       */
      @ExcelProperty(value = "创建时间")
      private Date createTime;
  
      /**
       * 用户是否存在此角色标识 默认不存在
       */
      private boolean flag = false;
  
      public boolean isSuperAdmin() {
          return UserConstants.SUPER_ADMIN_ID.equals(this.roleId);
      }
  
  }
  