using YD_Event.Core.Enum; namespace YD_Event.Core.Entities; /// /// 普通用户表 (实名信息) /// [SugarTable("AppUser")] public class AppUser : Entity, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability { /// /// 关联的 AuthAccount ID (如果是纯线下人员,此字段可能为空) /// [SugarColumn(IsNullable = true)] public long? UserId { get; set; } /// /// 关联商户ID(单位账号) /// [SugarColumn(IsNullable = true)] public long? MerchantId { get; set; } /// /// 人员类型:0-普通用户,1-领队,2-教练,3-运动员 /// public int PersonType { get; set; } /// /// 技能等级(教练特有) /// [SugarColumn(Length = 64, IsNullable = true)] public string? SkillLevel { get; set; } /// /// 认证状态(教练特有):0-未认证,1-已认证 /// [SugarColumn(IsNullable = true)] public int? CertificationStatus { get; set; } /// /// 昵称 (来自微信等第三方) /// [SugarColumn(Length = 64, IsNullable = true)] public string? NickName { get; set; } /// /// 头像 (来自微信等第三方) /// [SugarColumn(Length = 512, IsNullable = true)] public string? Avatar { get; set; } /// /// 姓名 /// [SugarColumn(Length = 64)] public string Name { get; set; } /// /// 性别 /// public Gender Gender { get; set; } /// /// 年龄 /// public int Age { get; set; } /// /// 出生日期 /// [SugarColumn(IsNullable = true)] public DateTime? BirthDate { get; set; } /// /// 联系电话 /// [SugarColumn(Length = 20)] public string Mobile { get; set; } /// /// 身份证号码 /// [SugarColumn(Length = 20)] public string IdCardNumber { get; set; } /// /// 身份证图片URL /// [SugarColumn(Length = 512)] public string? IdCardImageUrl { get; set; } /// /// 审核状态 /// public AuditStatus AuditStatus { get; set; } /// /// 审核备注 /// [SugarColumn(Length = 512, IsNullable = true)] public string? AuditRemark { get; set; } /// /// 备注 /// [SugarColumn(Length = 512, IsNullable = true)] public string? Remark { get; set; } /// /// 可用状态 /// public AvailabilityStatus Status { get; set; } /// /// 标记删除 /// public bool DeleteMark { get; set; } /// /// 创建人 /// public long CreatedUserId { get; set; } /// /// 创建时间 /// public DateTime CreatedTime { get; set; } /// /// 更新人 /// public long? UpdatedUserId { get; set; } /// /// 更新时间 /// public DateTime? UpdatedTime { get; set; } }