using System.ComponentModel.DataAnnotations;
using YD_Event.Core.Enum;
namespace YD_Event.Application.AppUser.Dtos;
///
/// 普通用户分页查询输入
///
public class AppUserPageInput : Pagination
{
///
/// 姓名
///
public string? Name { get; set; }
///
/// 性别
///
public Gender? Gender { get; set; }
///
/// 联系电话
///
public string? Mobile { get; set; }
///
/// 审核状态
///
public AuditStatus? AuditStatus { get; set; }
///
/// 开始时间
///
public DateTime? StartTime { get; set; }
///
/// 结束时间
///
public DateTime? EndTime { get; set; }
}
///
/// 成员统一查询输入(合并领队、教练、运动员)
///
public class MemberQueryInput : Pagination
{
///
/// 人员类型:1-运动员,2-教练,3-领队
///
[Required(ErrorMessage = "人员类型不能为空")]
[EnumDataType(typeof(PersonType), ErrorMessage = "不支持的人员类型")]
public PersonType PersonType { get; set; }
///
/// 姓名
///
public string? Name { get; set; }
///
/// 性别
///
public Gender? Gender { get; set; }
///
/// 联系电话
///
public string? Mobile { get; set; }
///
/// 身份证号 (运动员常用)
///
public string? IdCardNumber { get; set; }
///
/// 技能等级(仅教练)
///
public string? SkillLevel { get; set; }
///
/// 认证状态(仅教练)
///
public int? CertificationStatus { get; set; }
///
/// 开始注册时间
///
public DateTime? StartTime { get; set; }
///
/// 结束注册时间
///
public DateTime? EndTime { get; set; }
}
///
/// 统一成员输出
///
public class MemberOutput : AppUserOutput
{
///
/// 人员类型:1-运动员,2-教练,3-领队
///
public PersonType PersonType { get; set; }
///
/// 年龄
///
public int Age { get; set; }
///
/// 技能等级(教练)
///
public string? SkillLevel { get; set; }
///
/// 认证状态(教练)
///
public int? CertificationStatus { get; set; }
}
///
/// 创建/更新成员输入
///
public class CreateOrUpdateMemberInput
{
///
/// 人员类型:1-运动员,2-教练,3-领队
///
[Required(ErrorMessage = "人员类型不能为空")]
[EnumDataType(typeof(PersonType), ErrorMessage = "不支持的人员类型")]
public PersonType PersonType { get; set; }
///
/// ID (更新时必填)
///
public long? Id { get; set; }
///
/// 姓名
///
[Required(ErrorMessage = "姓名不能为空")]
public string Name { get; set; }
///
/// 性别
///
[Required(ErrorMessage = "性别不能为空")]
public Gender Gender { get; set; }
///
/// 年龄
///
public int Age { get; set; }
///
/// 身份证号
///
//[Required(ErrorMessage = "身份证号不能为空")]
//[RegularExpression(@"(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)", ErrorMessage = "身份证号格式不正确")]
public string IdCardNumber { get; set; }
///
/// 身份证图片URL
///
public string? IdCardUrl { get; set; }
///
/// 出生日期 (运动员等)
///
public DateTime? BirthDate { get; set; }
///
/// 联系电话
///
[Required(ErrorMessage = "联系电话不能为空")]
[RegularExpression(@"^1[3456789]\d{9}$", ErrorMessage = "手机号格式不正确")]
public string Mobile { get; set; }
///
/// 技能等级(教练特有)
///
public string? SkillLevel { get; set; }
///
/// 认证状态(教练特有):0-未认证,1-已认证
///
public int? CertificationStatus { get; set; }
///
/// 备注
///
public string? Remark { get; set; }
}
///
/// 成员状态变更输入
///
public class ChangeMemberStatusInput
{
///
/// ID
///
[Required]
public long Id { get; set; }
///
/// 状态:1-启用,2-禁用
///
[Required]
public AvailabilityStatus Status { get; set; }
}
///
/// 普通用户输出
///
public class AppUserOutput
{
///
/// 主键ID
///
public long Id { get; set; }
///
/// 关联用户ID
///
public long UserId { get; set; }
///
/// 姓名
///
public string Name { get; set; }
///
/// 性别
///
public Gender Gender { get; set; }
///
/// 手机号
///
public string Mobile { get; set; }
///
/// 身份证号
///
public string IdCardNumber { get; set; }
///
/// 身份证图片URL
///
public string? IdCardImageUrl { get; set; }
///
/// 审核状态
///
public AuditStatus AuditStatus { get; set; }
///
/// 审核备注
///
public string? AuditRemark { get; set; }
///
/// 创建时间
///
public DateTime CreatedTime { get; set; }
}
///
/// 审核输入
///
public class AuditInput
{
///
/// 审核对象ID列表
///
public List Ids { get; set; }
///
/// 审核状态
///
public AuditStatus Status { get; set; }
///
/// 审核备注
///
public string? Remark { get; set; }
}