338 lines
6.7 KiB
C#
338 lines
6.7 KiB
C#
using System.ComponentModel.DataAnnotations;
|
||
using YD_Event.Core.Enum;
|
||
using MiniExcelLibs.Attributes;
|
||
|
||
namespace YD_Event.Application.Event.Dtos;
|
||
|
||
/// <summary>
|
||
/// 成绩查询输入
|
||
/// </summary>
|
||
public class ScoreQueryInput : Pagination
|
||
{
|
||
/// <summary>
|
||
/// 赛事ID
|
||
/// </summary>
|
||
public long EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目ID
|
||
/// </summary>
|
||
public long? ProjectId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事项目组别ID (优先使用)
|
||
/// </summary>
|
||
public long? EventProjectGroupId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 组别名称 (备用,当没有EventProjectGroupId时使用)
|
||
/// </summary>
|
||
public string? GroupName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string? Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 单位名称
|
||
/// </summary>
|
||
public string? UnitName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
public Gender? Gender { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩列表输出
|
||
/// </summary>
|
||
public class ScoreListOutput
|
||
{
|
||
/// <summary>
|
||
/// 报名人员ID
|
||
/// </summary>
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩
|
||
/// </summary>
|
||
public string Score { get; set; }
|
||
|
||
/// <summary>
|
||
/// 单位名称
|
||
/// </summary>
|
||
public string UnitName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 名次(数字)
|
||
/// </summary>
|
||
public int Rank { get; set; }
|
||
|
||
/// <summary>
|
||
/// 名次(汉字)
|
||
/// </summary>
|
||
public string RankText { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
public int Gender { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩ID
|
||
/// </summary>
|
||
public long ResultId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 证书ID
|
||
/// </summary>
|
||
public long CertificateId { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 教练/领队查询输入
|
||
/// </summary>
|
||
public class CoachLeaderQueryInput : Pagination
|
||
{
|
||
/// <summary>
|
||
/// 赛事ID
|
||
/// </summary>
|
||
public long EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 人员类型 (2-教练, 3-领队)
|
||
/// </summary>
|
||
public PersonType PersonType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string? Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 电话
|
||
/// </summary>
|
||
public string? Mobile { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
public Gender? Gender { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 教练/领队列表输出
|
||
/// </summary>
|
||
public class CoachLeaderListOutput
|
||
{
|
||
/// <summary>
|
||
/// 报名人员ID
|
||
/// </summary>
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 年龄
|
||
/// </summary>
|
||
public int? Age { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
public string Gender { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出生日期
|
||
/// </summary>
|
||
public DateTime? BirthDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// 身份证号
|
||
/// </summary>
|
||
public string IdCardNumber { get; set; }
|
||
|
||
/// <summary>
|
||
/// 电话
|
||
/// </summary>
|
||
public string Mobile { get; set; }
|
||
|
||
/// <summary>
|
||
/// 证书ID
|
||
/// </summary>
|
||
public long CertificateId { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 发放证书输入
|
||
/// </summary>
|
||
public class IssueCertificateInput
|
||
{
|
||
/// <summary>
|
||
/// 人员ID列表
|
||
/// </summary>
|
||
public List<long> PersonIds { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事ID
|
||
/// </summary>
|
||
public long EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 证书ID(必选)
|
||
/// </summary>
|
||
[Required(ErrorMessage = "请选择证书")]
|
||
public long CertificateId { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 发放证书结果
|
||
/// </summary>
|
||
public class IssueCertificateResult
|
||
{
|
||
/// <summary>
|
||
/// 成功数量
|
||
/// </summary>
|
||
public int SuccessCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 失败数量
|
||
/// </summary>
|
||
public int FailCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 失败详情
|
||
/// </summary>
|
||
public List<string> FailDetails { get; set; } = new List<string>();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩导入DTO
|
||
/// </summary>
|
||
public class ScoreImportDto
|
||
{
|
||
/// <summary>
|
||
/// 赛事地址
|
||
/// </summary>
|
||
[ExcelColumnName("赛事地址")]
|
||
public string EventAddress { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目名称
|
||
/// </summary>
|
||
[ExcelColumnName("项目")]
|
||
public string ProjectName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 组别名称
|
||
/// </summary>
|
||
[ExcelColumnName("组别")]
|
||
public string GroupName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
[ExcelColumnName("姓名")]
|
||
public string Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 联系方式
|
||
/// </summary>
|
||
[ExcelColumnName("联系方式")]
|
||
public string Contact { get; set; }
|
||
|
||
/// <summary>
|
||
/// 单位名称
|
||
/// </summary>
|
||
[ExcelColumnName("单位")]
|
||
public string UnitName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩
|
||
/// </summary>
|
||
[ExcelColumnName("成绩")]
|
||
public string Score { get; set; }
|
||
|
||
/// <summary>
|
||
/// 名次(数字)
|
||
/// </summary>
|
||
[ExcelColumnName("名次(数字)")]
|
||
public int Rank { get; set; }
|
||
|
||
/// <summary>
|
||
/// 名次(汉字)
|
||
/// </summary>
|
||
[ExcelColumnName("名次(汉字)")]
|
||
public string RankText { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 证书导出DTO
|
||
/// </summary>
|
||
public class CertificateExportDto
|
||
{
|
||
/// <summary>
|
||
/// 证书编号
|
||
/// </summary>
|
||
[ExcelColumnName("证书编号")]
|
||
public string CertificateNo { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
[ExcelColumnName("姓名")]
|
||
public string ParticipantName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目名称
|
||
/// </summary>
|
||
[ExcelColumnName("项目")]
|
||
public string ProjectName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 组别名称
|
||
/// </summary>
|
||
[ExcelColumnName("组别")]
|
||
public string GroupName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 单位名称
|
||
/// </summary>
|
||
[ExcelColumnName("单位")]
|
||
public string UnitName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩
|
||
/// </summary>
|
||
[ExcelColumnName("成绩")]
|
||
public string Score { get; set; }
|
||
|
||
/// <summary>
|
||
/// 名次
|
||
/// </summary>
|
||
[ExcelColumnName("名次")]
|
||
public int Rank { get; set; }
|
||
|
||
/// <summary>
|
||
/// 证书类型
|
||
/// </summary>
|
||
[ExcelColumnName("证书类型")]
|
||
public string CertificateType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 发放时间
|
||
/// </summary>
|
||
[ExcelColumnName("发放时间")]
|
||
public DateTime? IssuedTime { get; set; }
|
||
}
|