using SqlSugar;
using System;

namespace YBDevice.Entity
{
    /// <summary>
    /// 注册用户表
    /// </summary>
    [SugarTable("YB_RegUser", TableDescription = "注册用户表", IsDisabledUpdateAll = false, IsDisabledDelete = true)]
    public class YB_RegUser
    {
        private System.Int32 _Id;
        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public System.Int32 Id { get { return this._Id; } set { this._Id = value; } }

        private System.String _Name;
        /// <summary>
        /// 昵称
        /// </summary>
        [SugarColumn(ColumnDescription = "昵称", ColumnDataType = "nvarchar(100)")]
        public System.String Name { get { return this._Name; } set { this._Name = value?.Trim(); } }

        private System.String _Phone;
        /// <summary>
        /// 手机号
        /// </summary>
        [SugarColumn(ColumnDescription = "手机号", ColumnDataType = "varchar(20)")]
        public System.String Phone { get { return this._Phone; } set { this._Phone = value?.Trim(); } }

        private System.String _Headimg;
        /// <summary>
        /// 头像
        /// </summary>
        [SugarColumn(ColumnDescription = "头像", ColumnDataType = "varchar(200)")]
        public System.String Headimg { get { return this._Headimg; } set { this._Headimg = value?.Trim(); } }

        private System.String _Country;
        /// <summary>
        /// 国家
        /// </summary>
        [SugarColumn(ColumnDescription = "国家", ColumnDataType = "nvarchar(100)")]
        public System.String Country { get { return this._Country; } set { this._Country = value?.Trim(); } }

        private System.String _Province;
        /// <summary>
        /// 省份
        /// </summary>
        [SugarColumn(ColumnDescription = "省份", ColumnDataType = "nvarchar(100)")]
        public System.String Province { get { return this._Province; } set { this._Province = value?.Trim(); } }

        private System.String _City;
        /// <summary>
        /// 城市
        /// </summary>
        [SugarColumn(ColumnDescription = "城市", ColumnDataType = "nvarchar(100)")]
        public System.String City { get { return this._City; } set { this._City = value?.Trim(); } }

        /// <summary>
        /// 性别,0-未知,1-男,2-女
        /// </summary>
        [SugarColumn(ColumnDescription = "性别,0-未知,1-男,2-女")]
        public GenderType Gender { get; set; }

        private System.String _Secret;
        /// <summary>
        /// 密码的密钥
        /// </summary>
        [SugarColumn(ColumnDescription = "密码的密钥", ColumnDataType = "varchar(50)")]
        public System.String Secret { get { return this._Secret; } set { this._Secret = value?.Trim(); } }

        private System.String _Password;
        /// <summary>
        /// 密码
        /// </summary>
        [SugarColumn(ColumnDescription = "密码", ColumnDataType = "varchar(50)")]
        public System.String Password { get { return this._Password; } set { this._Password = value?.Trim(); } }

        /// <summary>
        /// 状态,0-禁用,1-启用
        /// </summary>
        [SugarColumn(ColumnDescription = "状态,0-禁用,1-启用")]
        public StatusType Status { get; set; }

        private System.DateTime _LastVisitTime;
        /// <summary>
        /// 最近访问时间
        /// </summary>
        [SugarColumn(ColumnDescription = "最近访问时间")]
        public System.DateTime LastVisitTime { get { return this._LastVisitTime; } set { this._LastVisitTime = value; } }

        private System.String _LastVisitIP;
        /// <summary>
        /// 最近访问IP
        /// </summary>
        [SugarColumn(ColumnDescription = "最近访问IP", ColumnDataType = "varchar(50)")]
        public System.String LastVisitIP { get { return this._LastVisitIP; } set { this._LastVisitIP = value?.Trim(); } }

        private System.String _UnionId;
        /// <summary>
        /// 用户唯一标识
        /// </summary>
        [SugarColumn(ColumnDescription = "用户唯一标识", ColumnDataType = "varchar(50)")]
        public System.String UnionId { get { return this._UnionId; } set { this._UnionId = value?.Trim(); } }

        private System.DateTime _CreateTime;

        /// <summary>
        /// 关联的粉丝ID
        /// </summary>
        [SugarColumn(ColumnDescription = "关联的粉丝ID",IsNullable =true,IndexGroupNameList =new string[] { "index_fansid"})]
        public Guid? FansId { get; set; }


        /// <summary>
        /// 注册时间
        /// </summary>
        [SugarColumn(ColumnDescription = "注册时间")]
        public System.DateTime CreateTime { get { return this._CreateTime; } set { this._CreateTime = value; } }
    }
}
