455 lines
9.3 KiB
C#
455 lines
9.3 KiB
C#
namespace YD_Event.Application.Event.Dtos;
|
||
|
||
/// <summary>
|
||
/// 赛事记录分页查询输入
|
||
/// </summary>
|
||
public class EventRecordPageInput : Pagination
|
||
{
|
||
/// <summary>
|
||
/// 普通用户ID
|
||
/// </summary>
|
||
public long? AppUserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 系统用户ID
|
||
/// </summary>
|
||
public long? SysUserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 商户ID
|
||
/// </summary>
|
||
public long? MerchantId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事名称
|
||
/// </summary>
|
||
public string? EventName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 支付状态
|
||
/// </summary>
|
||
public int? PaymentStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 开始时间
|
||
/// </summary>
|
||
public DateTime? StartTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 结束时间
|
||
/// </summary>
|
||
public DateTime? EndTime { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 赛事记录输出
|
||
/// </summary>
|
||
public class EventRecordOutput
|
||
{
|
||
/// <summary>
|
||
/// 报名ID
|
||
/// </summary>
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事名称
|
||
/// </summary>
|
||
public string EventName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事类型
|
||
/// </summary>
|
||
public string EventType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 比赛开始时间
|
||
/// </summary>
|
||
public DateTime StartTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 比赛结束时间
|
||
/// </summary>
|
||
public DateTime EndTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 支付状态
|
||
/// </summary>
|
||
public int PaymentStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事ID
|
||
/// </summary>
|
||
public long EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 联系人姓名
|
||
/// </summary>
|
||
public string ContactName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 联系人电话
|
||
/// </summary>
|
||
public string ContactPhone { get; set; }
|
||
|
||
/// <summary>
|
||
/// 团队名称
|
||
/// </summary>
|
||
public string TeamName { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 证书信息输出
|
||
/// </summary>
|
||
public class CertificateOutput
|
||
{
|
||
/// <summary>
|
||
/// 证书ID
|
||
/// </summary>
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 证书名称
|
||
/// </summary>
|
||
public string Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 获奖等级
|
||
/// </summary>
|
||
public string AwardLevel { get; set; }
|
||
|
||
/// <summary>
|
||
/// 证书类型
|
||
/// </summary>
|
||
public string CertificateType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 图片URL
|
||
/// </summary>
|
||
public string ImageUrl { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 取消报名预览输入
|
||
/// </summary>
|
||
public class CancelPreviewInput
|
||
{
|
||
/// <summary>
|
||
/// 报名ID
|
||
/// </summary>
|
||
public long RegistrationId { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 取消报名预览输出
|
||
/// </summary>
|
||
public class CancelPreviewOutput
|
||
{
|
||
/// <summary>
|
||
/// 报名ID
|
||
/// </summary>
|
||
public long RegistrationId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事名称
|
||
/// </summary>
|
||
public string EventName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 团队名称
|
||
/// </summary>
|
||
public string TeamName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 收费模式(0-免费,1-收费)
|
||
/// </summary>
|
||
public int ChargeMode { get; set; }
|
||
|
||
/// <summary>
|
||
/// 实际支付金额
|
||
/// </summary>
|
||
public decimal ActualPaidAmount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 可退款金额
|
||
/// </summary>
|
||
public decimal RefundableAmount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目列表
|
||
/// </summary>
|
||
public List<CancelPreviewProjectDto> Projects { get; set; } = new();
|
||
|
||
/// <summary>
|
||
/// 队员列表
|
||
/// </summary>
|
||
public List<CancelPreviewMemberDto> Members { get; set; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 取消报名项目DTO
|
||
/// </summary>
|
||
public class CancelPreviewProjectDto
|
||
{
|
||
/// <summary>
|
||
/// 项目ID
|
||
/// </summary>
|
||
public long ProjectId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目名称
|
||
/// </summary>
|
||
public string ProjectName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目类型(个人/团队)
|
||
/// </summary>
|
||
public string ProjectType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 人数
|
||
/// </summary>
|
||
public int PersonCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 单价
|
||
/// </summary>
|
||
public decimal UnitPrice { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 取消报名队员DTO
|
||
/// </summary>
|
||
public class CancelPreviewMemberDto
|
||
{
|
||
/// <summary>
|
||
/// 队员ID
|
||
/// </summary>
|
||
public long MemberId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否为队长
|
||
/// </summary>
|
||
public bool IsLeader { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 取消报名执行输入
|
||
/// </summary>
|
||
public class CancelExecuteInput
|
||
{
|
||
/// <summary>
|
||
/// 报名ID
|
||
/// </summary>
|
||
public long RegistrationId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 取消类型(0-全部取消,1-部分取消)
|
||
/// </summary>
|
||
public int CancelType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 取消原因
|
||
/// </summary>
|
||
public string CancelReason { get; set; }
|
||
|
||
/// <summary>
|
||
/// 要取消的队员ID列表(部分取消时使用)
|
||
/// </summary>
|
||
public List<long>? PersonIds { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 取消报名执行输出
|
||
/// </summary>
|
||
public class CancelExecuteOutput
|
||
{
|
||
/// <summary>
|
||
/// 是否成功
|
||
/// </summary>
|
||
public bool Success { get; set; }
|
||
|
||
/// <summary>
|
||
/// 消息
|
||
/// </summary>
|
||
public string Message { get; set; }
|
||
|
||
/// <summary>
|
||
/// 退款金额
|
||
/// </summary>
|
||
public decimal RefundAmount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 退款单号
|
||
/// </summary>
|
||
public string? RefundNo { get; set; }
|
||
|
||
/// <summary>
|
||
/// 取消时间
|
||
/// </summary>
|
||
public DateTime CancelTime { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 参赛记录详情(包含项目和队员)
|
||
/// </summary>
|
||
public class RegistrationDetailWithItemsDto
|
||
{
|
||
/// <summary>
|
||
/// 报名ID
|
||
/// </summary>
|
||
public long RegistrationId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事名称
|
||
/// </summary>
|
||
public string EventName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 团队名称
|
||
/// </summary>
|
||
public string TeamName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目列表
|
||
/// </summary>
|
||
public List<RegistrationItemWithMembersDto> Items { get; set; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 报名项目(包含队员)
|
||
/// </summary>
|
||
public class RegistrationItemWithMembersDto
|
||
{
|
||
/// <summary>
|
||
/// 报名项目ID
|
||
/// </summary>
|
||
public long RegistrationItemId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目ID
|
||
/// </summary>
|
||
public long ProjectId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目名称
|
||
/// </summary>
|
||
public string ProjectName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 组别名称
|
||
/// </summary>
|
||
public string GroupName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目类型
|
||
/// </summary>
|
||
public string ProjectTypeName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 人数
|
||
/// </summary>
|
||
public int PersonCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目完成人数(从Project表读取)
|
||
/// </summary>
|
||
public int ProjectCompletionCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出生日期起始日期(年龄限制)
|
||
/// </summary>
|
||
public DateTime? BirthDateStart { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出生日期结束日期(年龄限制)
|
||
/// </summary>
|
||
public DateTime? BirthDateEnd { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别要求
|
||
/// </summary>
|
||
public Gender? GenderRequirement { get; set; }
|
||
|
||
/// <summary>
|
||
/// 队员列表
|
||
/// </summary>
|
||
public List<RegistrationPersonDto> Members { get; set; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新参赛队员输入
|
||
/// </summary>
|
||
public class UpdateRegistrationMembersInput
|
||
{
|
||
/// <summary>
|
||
/// 报名ID
|
||
/// </summary>
|
||
[Required(ErrorMessage = "报名ID不能为空")]
|
||
public long RegistrationId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目队员更新列表
|
||
/// </summary>
|
||
[Required(ErrorMessage = "项目队员列表不能为空")]
|
||
public List<UpdateItemMembersInput> Items { get; set; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 项目队员更新
|
||
/// </summary>
|
||
public class UpdateItemMembersInput
|
||
{
|
||
/// <summary>
|
||
/// 报名项目ID
|
||
/// </summary>
|
||
[Required(ErrorMessage = "报名项目ID不能为空")]
|
||
public long RegistrationItemId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 队员列表
|
||
/// </summary>
|
||
[Required(ErrorMessage = "队员列表不能为空")]
|
||
public List<UpdatePersonInput> Members { get; set; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新队员信息
|
||
/// </summary>
|
||
public class UpdatePersonInput
|
||
{
|
||
/// <summary>
|
||
/// 用户ID(新队员)
|
||
/// </summary>
|
||
public long? UserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string? Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
public Gender? Gender { get; set; }
|
||
|
||
/// <summary>
|
||
/// 身份证号
|
||
/// </summary>
|
||
public string? IdCardNumber { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出生日期
|
||
/// </summary>
|
||
public DateTime? BirthDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// 手机号
|
||
/// </summary>
|
||
public string? Mobile { get; set; }
|
||
}
|