using System.ComponentModel.DataAnnotations; using YD_Event.Core.Enum; using YD_Event.Application.Common.Excel; namespace YD_Event.Application.Event.Dtos; /// /// 成绩查询输入 /// public class ScoreQueryInput : Pagination { /// /// 赛事ID /// public long EventId { get; set; } /// /// 项目ID /// public long? ProjectId { get; set; } /// /// 赛事项目组别ID (优先使用) /// public long? EventProjectGroupId { get; set; } /// /// 组别名称 (备用,当没有EventProjectGroupId时使用) /// public string? GroupName { get; set; } /// /// 姓名 /// public string? Name { get; set; } /// /// 单位名称 /// public string? UnitName { get; set; } /// /// 性别 /// public Gender? Gender { get; set; } } /// /// 成绩列表输出 /// public class ScoreListOutput { /// /// 报名人员ID /// public long Id { get; set; } /// /// 姓名 /// public string Name { get; set; } /// /// 成绩 /// public string Score { get; set; } /// /// 单位名称 /// public string UnitName { get; set; } /// /// 名次(数字) /// public int Rank { get; set; } /// /// 名次(汉字) /// public string RankText { get; set; } /// /// 性别 /// public int Gender { get; set; } /// /// 成绩ID /// public long ResultId { get; set; } /// /// 证书ID /// public long CertificateId { get; set; } } /// /// 教练/领队查询输入 /// public class CoachLeaderQueryInput : Pagination { /// /// 赛事ID /// public long EventId { get; set; } /// /// 人员类型 (2-教练, 3-领队) /// public PersonType PersonType { get; set; } /// /// 姓名 /// public string? Name { get; set; } /// /// 电话 /// public string? Mobile { get; set; } /// /// 性别 /// public Gender? Gender { get; set; } } /// /// 教练/领队列表输出 /// public class CoachLeaderListOutput { /// /// 报名人员ID (0 表示没有 EventRegistrationPerson 记录,只有 TeamMember 记录) /// public long Id { get; set; } /// /// 用户ID (对应 AppUser.Id) /// public long UserId { get; set; } /// /// 姓名 /// public string Name { get; set; } /// /// 年龄 /// public int? Age { get; set; } /// /// 性别 /// public int Gender { get; set; } /// /// 出生日期 /// public DateTime? BirthDate { get; set; } /// /// 身份证号 /// public string? IdCardNumber { get; set; } /// /// 身份证正面图片URL /// public string? IdCardImageUrl { get; set; } /// /// 身份证背面图片URL /// public string? IdCardBackImageUrl { get; set; } /// /// 电话 /// public string Mobile { get; set; } /// /// 证书ID /// public long CertificateId { get; set; } } /// /// 发放证书输入 /// public class IssueCertificateInput { /// /// 人员ID列表 /// public List PersonIds { get; set; } /// /// 赛事ID /// public long EventId { get; set; } /// /// 证书ID(必选) /// [Required(ErrorMessage = "请选择证书")] public long CertificateId { get; set; } /// /// 页面类型:1-运动员页面,2-教练页面,3-领队页面 /// 用于明确区分不同角色页面的证书生成逻辑 /// public int PageType { get; set; } } /// /// 发放证书结果 /// public class IssueCertificateResult { /// /// 成功数量 /// public int SuccessCount { get; set; } /// /// 失败数量 /// public int FailCount { get; set; } /// /// 失败详情 /// public List FailDetails { get; set; } = new List(); } /// /// 成绩导入DTO /// public class ScoreImportDto { /// /// 报名ID(唯一标识符) /// [ExcelHeader("报名ID")] public long? RegistrationItemId { get; set; } /// /// 赛事地址 /// [ExcelHeader("赛事地址")] public string EventAddress { get; set; } /// /// 项目名称 /// [ExcelHeader("项目")] public string ProjectName { get; set; } /// /// 组别名称 /// [ExcelHeader("组别")] public string GroupName { get; set; } /// /// 姓名 /// [ExcelHeader("姓名")] public string Name { get; set; } /// /// 联系方式 /// [ExcelHeader("联系方式")] public string Contact { get; set; } /// /// 单位名称 /// [ExcelHeader("单位")] public string UnitName { get; set; } /// /// 成绩 /// [ExcelHeader("成绩")] public string Score { get; set; } /// /// 名次(数字) /// [ExcelHeader("名次(数字)")] public int Rank { get; set; } /// /// 名次(汉字) /// [ExcelHeader("名次(汉字)")] public string RankText { get; set; } }