175 lines
4.4 KiB
C#
Raw Normal View History

2026-03-06 12:10:09 +08:00
using YD_Event.Core.Enum;
namespace YD_Event.Core.Entities;
/// <summary>
/// 普通用户表 (实名信息)
/// </summary>
[SugarTable("AppUser")]
public class AppUser : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
{
2026-03-11 16:00:09 +08:00
/// <summary>
2026-03-30 17:06:12 +08:00
/// 关联的单位认证ID(单位账号)
2026-03-11 16:00:09 +08:00
/// </summary>
[SugarColumn(IsNullable = true)]
2026-03-30 17:06:12 +08:00
public long? MerchantCertificationId { get; set; }
2026-03-11 16:00:09 +08:00
/// <summary>
2026-03-20 02:00:34 +08:00
/// 人员类型:0-普通用户,1-运动员,2-教练,3-领队
2026-03-11 16:00:09 +08:00
/// </summary>
2026-03-20 02:00:34 +08:00
public PersonType PersonType { get; set; }
2026-03-11 16:00:09 +08:00
/// <summary>
/// 小程序账户角色:1-参赛者,2-裁判,3-检录员。
/// 与报名人员类型 PersonType 相互独立。
/// </summary>
public MiniProgramRole MiniProgramRole { get; set; } = MiniProgramRole.Participant;
2026-03-11 16:00:09 +08:00
/// <summary>
/// 技能等级(教练特有)
/// </summary>
[SugarColumn(Length = 64, IsNullable = true)]
public string? SkillLevel { get; set; }
/// <summary>
/// 认证状态(教练特有):0-未认证,1-已认证
/// </summary>
[SugarColumn(IsNullable = true)]
public int? CertificationStatus { get; set; }
2026-03-06 12:10:09 +08:00
2026-03-14 06:13:06 +08:00
/// <summary>
/// 昵称 (来自微信等第三方)
/// </summary>
[SugarColumn(Length = 64, IsNullable = true)]
public string? NickName { get; set; }
/// <summary>
/// 头像 (来自微信等第三方)
/// </summary>
[SugarColumn(Length = 512, IsNullable = true)]
public string? Avatar { get; set; }
2026-03-06 12:10:09 +08:00
/// <summary>
/// 姓名
/// </summary>
[SugarColumn(Length = 64, IsNullable = true)]
public string? Name { get; set; }
2026-03-06 12:10:09 +08:00
/// <summary>
/// 性别
/// </summary>
public Gender Gender { get; set; }
2026-03-12 10:30:13 +08:00
/// <summary>
/// 出生日期
/// </summary>
[SugarColumn(IsNullable = true)]
public DateTime? BirthDate { get; set; }
2026-04-13 02:09:59 +08:00
/// <summary>
/// 年龄
/// </summary>
[SugarColumn(IsNullable = true)]
public int? Age { get; set; }
2026-03-06 12:10:09 +08:00
/// <summary>
/// 联系电话
/// </summary>
[SugarColumn(Length = 20)]
public string Mobile { get; set; } = null!;
/// <summary>
/// 密码(用于登录)
/// </summary>
[SugarColumn(Length = 64, IsNullable = true)]
public string? Password { get; set; }
2026-03-06 12:10:09 +08:00
/// <summary>
/// 身份证号码
/// </summary>
[SugarColumn(Length = 20, IsNullable = true)]
public string? IdCardNumber { get; set; }
2026-03-06 12:10:09 +08:00
2026-06-17 15:42:32 +08:00
/// <summary>
/// 护照号码
/// </summary>
[SugarColumn(Length = 20, IsNullable = true)]
public string? PassportNumber { get; set; }
2026-03-06 12:10:09 +08:00
/// <summary>
2026-04-13 15:28:25 +08:00
/// 身份证正面图片URL
2026-03-06 12:10:09 +08:00
/// </summary>
[SugarColumn(Length = 512, IsNullable = true)]
2026-03-06 12:10:09 +08:00
public string? IdCardImageUrl { get; set; }
2026-04-13 15:28:25 +08:00
/// <summary>
/// 身份证背面图片URL
/// </summary>
[SugarColumn(Length = 512, IsNullable = true)]
public string? IdCardBackImageUrl { get; set; }
2026-03-06 12:10:09 +08:00
/// <summary>
/// 护照图片URL
/// </summary>
[SugarColumn(Length = 512, IsNullable = true)]
public string? PassportPhotoUrl { get; set; }
/// <summary>
2026-06-15 21:51:42 +08:00
/// 户口本图片URL
/// </summary>
[SugarColumn(Length = 512, IsNullable = true)]
public string? HouseholdPhotoUrl { get; set; }
/// <summary>
2026-06-15 22:00:39 +08:00
/// 认证类型:0-未认证,1-身份证,2-护照,3-户口本
2026-06-15 21:51:42 +08:00
/// </summary>
2026-06-15 22:00:39 +08:00
public int AuthType { get; set; } = 0;
2026-06-15 21:51:42 +08:00
/// <summary>
2026-03-06 12:10:09 +08:00
/// 审核状态
/// </summary>
public AuditStatus AuditStatus { get; set; }
/// <summary>
/// 审核备注
/// </summary>
2026-03-11 16:00:09 +08:00
[SugarColumn(Length = 512, IsNullable = true)]
2026-03-06 12:10:09 +08:00
public string? AuditRemark { get; set; }
2026-03-11 16:00:09 +08:00
/// <summary>
/// 备注
/// </summary>
[SugarColumn(Length = 512, IsNullable = true)]
public string? Remark { get; set; }
2026-03-06 12:10:09 +08:00
/// <summary>
/// 可用状态
/// </summary>
public AvailabilityStatus Status { get; set; }
/// <summary>
/// 标记删除
/// </summary>
public bool DeleteMark { get; set; }
/// <summary>
/// 创建人
/// </summary>
public long CreatedUserId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedTime { get; set; }
/// <summary>
/// 更新人
/// </summary>
public long? UpdatedUserId { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime? UpdatedTime { get; set; }
}