package com.jy.system.model.table;


import com.jy.framework.mybatis.join.QueryColumn;
import com.jy.framework.mybatis.join.Table;
import com.jy.system.model.entity.SysRole;

public class SysRoleTable extends Table<SysRole> {

    public static SysRoleTable sys_role = new SysRoleTable();
    public static SysRoleTable sr = sys_role.as("sr");

    /**
     * 角色id
     */
    public QueryColumn id = this.field(SysRole::getId);

    /**
     * 角色编码
     */
    public QueryColumn code = this.field(SysRole::getCode);

    /**
     * 角色名称
     */
    public QueryColumn name = this.field(SysRole::getName);

    /**
     * 是否系统内置 1是 0否
     */
    public QueryColumn builtin = this.field(SysRole::getBuiltin);

    /**
     * 状态 1启用 0禁用
     */
    public QueryColumn status = this.field(SysRole::getStatus);

    /**
     * 显示顺序
     */
    public QueryColumn sort = this.field(SysRole::getSort);

    /**
     * 数据范围 1全部 2自定义 3本部门以及下级部门 4本部门 5本人
     */
    public QueryColumn dataScope = this.field(SysRole::getDataScope);

    /**
     * 备注
     */
    public QueryColumn remark = this.field(SysRole::getRemark);

    /**
     * 创建人
     */
    public QueryColumn createUser = this.field(SysRole::getCreateUser);

    /**
     * 创建时间
     */
    public QueryColumn createTime = this.field(SysRole::getCreateTime);

    /**
     * 更新人
     */
    public QueryColumn updateUser = this.field(SysRole::getUpdateUser);

    /**
     * 更新时间
     */
    public QueryColumn updateTime = this.field(SysRole::getUpdateTime);

    /**
     * 逻辑删除标记
     */
    public QueryColumn delFlag = this.field(SysRole::getDelFlag);


    private SysRoleTable() {
        super(SysRole.class);
    }

    private SysRoleTable(String alias) {
        super(SysRole.class, alias);
    }

    public SysRoleTable as(String alias) {
        return new SysRoleTable(alias);
    }

}
