package com.zcxk.entity;

import com.zcxk.model.ProgramItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 角色(Role)实体类
 *
 * @author makejava
 * @since 2020-10-27 09:13:27
 */
@Data
@ApiModel
public class Role implements Serializable {
    private static final long serialVersionUID = -43345622406120845L;
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Integer id;
    /**
     * 租户标识
     */
    @ApiModelProperty(value = "租户标识")
    private String tenantId;
    /**
     * 角色名称
     */
    @ApiModelProperty(value = "角色名称")
    private String roleName;
    /**
     * 角色描述
     */
    @ApiModelProperty(value = "角色描述")
    private String description;
    /**
     * 角色状态
     */
    @ApiModelProperty(value = "角色状态",notes = "-1:禁用；0:启用")
    private Integer roleState;
    /**
     * 权限约束标记
     */
    @ApiModelProperty(value = "权限约束标记",notes = "1：所在公司数据、2：所在公司及下级数据、" +
            "3：所在部门数据、4：所在部门及下级数据、5：自定义权限")
    private Integer permissionType;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 数据删除标记
     */
    @ApiModelProperty(value = "数据删除标记")
    private Integer status;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date dateCreate;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @ApiModelProperty(value = "")
    private Date dateUpdate;
    @ApiModelProperty(value = "")
    private String updateBy;
    @ApiModelProperty(value = "菜单IDs")
    private List<Long> menuIds;
    /**
     * 机构id
     */
    @ApiModelProperty(value = "机构id")
    private Integer orgId;
    private List<ProgramItem>items;
}