namespace Long.Common.Basedata
{
    /// <summary>
    /// 系统用户
    /// </summary>
    public class User
    {
        /// <summary>
        /// 内码
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 电子邮箱
        /// </summary>
        public string Email { get; set; } = string.Empty;

        /// <summary>
        /// 手机号
        /// </summary>
        public string Phone { get; set; } = string.Empty;

        /// <summary>
        /// 登录密码
        /// </summary>
        public string Password { get; set; } = string.Empty;

        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName { get; set; } = string.Empty;

        /// <summary>
        /// 是否启用
        /// </summary>
        public bool Opened { get; set; }

        /// <summary>
        /// 是否激活
        /// </summary>
        public bool Activited { get; set; }

        /// <summary>
        /// 激活码
        /// </summary>
        public string ActivationCode { get; set; } = string.Empty;

        /// <summary>
        /// 激活码创建时间
        /// </summary>
        public DateTime? ActivationCodeOn { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        public string Gender { get; set; } = string.Empty;

        /// <summary>
        /// 年龄
        /// </summary>
        public string Age { get; set; } = string.Empty;

        /// <summary>
        /// 语言
        /// </summary>
        public string Language { get; set; } = string.Empty;

        /// <summary>
        /// 城市
        /// </summary>
        public string City { get; set; } = string.Empty;

        /// <summary>
        /// 省份
        /// </summary>
        public string Province { get; set; } = string.Empty;

        /// <summary>
        /// 国家
        /// </summary>
        public string Country { get; set; } = string.Empty;

        /// <summary>
        /// 头像
        /// </summary>
        public string AvatarUrl { get; set; } = string.Empty;

        /// <summary>
        /// 推广码
        /// </summary>
        public string PromotionCode { get; set; } = string.Empty;

        /// <summary>
        /// 上级推广码
        /// </summary>
        public string ParentPromotionCode { get; set; } = string.Empty;

        /// <summary>
        /// 推广层级
        /// </summary>
        public int? PromotionLevel { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public long CreatedBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedOn { get; set; }

        /// <summary>
        /// 最后修改人
        /// </summary>
        public long? LastModifiedBy { get; set; }

        /// <summary>
        /// 最后修改时间
        /// </summary>
        public DateTime? LastModifiedOn { get; set; }
    }
}
