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.SysUser;

public class SysUserTable extends Table<SysUser> {

    public static SysUserTable sys_user = new SysUserTable();
    public static SysUserTable su = sys_user.as("su");

    /**
     * 用户id
     */
    public QueryColumn id = this.field(SysUser::getId);

    /**
     * 账号
     */
    public QueryColumn username = this.field(SysUser::getUsername);

    /**
     * 密码
     */
    public QueryColumn password = this.field(SysUser::getPassword);

    /**
     * 昵称
     */
    public QueryColumn nickname = this.field(SysUser::getNickname);

    /**
     * 部门id
     */
    public QueryColumn deptId = this.field(SysUser::getDeptId);

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

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

    /**
     * 用户性别 0男 1女 2未知
     */
    public QueryColumn sex = this.field(SysUser::getSex);

    /**
     * 手机号
     */
    public QueryColumn phoneNumber = this.field(SysUser::getPhoneNumber);

    /**
     * 邮箱
     */
    public QueryColumn email = this.field(SysUser::getEmail);

    /**
     * 头像地址
     */
    public QueryColumn avatar = this.field(SysUser::getAvatar);

    /**
     * 最后登录IP
     */
    public QueryColumn loginIp = this.field(SysUser::getLoginIp);

    /**
     * 最后登录时间
     */
    public QueryColumn loginTime = this.field(SysUser::getLoginTime);

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

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

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

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

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

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

    private SysUserTable() {
        super(SysUser.class);
    }

    private SysUserTable(String alias) {
        super(SysUser.class, alias);
    }

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

}
