namespace YD_Event.Application.Event.Dtos; /// /// 赛事记录分页查询输入 /// public class EventRecordPageInput : Pagination { /// /// 普通用户ID /// public long? AppUserId { get; set; } /// /// 系统用户ID /// public long? SysUserId { get; set; } /// /// 商户ID /// public long? MerchantId { get; set; } /// /// 赛事名称 /// public string? EventName { get; set; } /// /// 支付状态 /// public int? PaymentStatus { get; set; } /// /// 开始时间 /// public DateTime? StartTime { get; set; } /// /// 结束时间 /// public DateTime? EndTime { get; set; } } /// /// 赛事记录输出 /// public class EventRecordOutput { /// /// 报名ID /// public long Id { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 赛事类型 /// public string EventType { get; set; } /// /// 比赛开始时间 /// public DateTime StartTime { get; set; } /// /// 比赛结束时间 /// public DateTime EndTime { get; set; } /// /// 支付状态 /// public int PaymentStatus { get; set; } /// /// 赛事ID /// public long EventId { get; set; } /// /// 联系人姓名 /// public string ContactName { get; set; } /// /// 联系人电话 /// public string ContactPhone { get; set; } /// /// 团队名称 /// public string TeamName { get; set; } /// /// 报名项目列表 /// public List Items { get; set; } = new(); /// /// 该赛事的所有报名记录ID列表 /// public List RegistrationIds { get; set; } = new(); } /// /// 报名项目输出 /// public class EventRegistrationItemOutput { /// /// 报名项目ID /// public long Id { get; set; } /// /// 项目名称 /// public string ProjectName { get; set; } /// /// 项目类型名称 /// public string ProjectTypeName { get; set; } /// /// 组别名称 /// public string GroupName { get; set; } /// /// 报名人数 /// public int PersonCount { get; set; } /// /// 成绩 /// public string? Score { get; set; } /// /// 名次 /// public string? Rank { get; set; } } /// /// 证书信息输出 /// public class CertificateOutput { /// /// 证书ID /// public long Id { get; set; } /// /// 证书名称 /// public string Name { get; set; } /// /// 获奖等级 /// public string AwardLevel { get; set; } /// /// 证书类型 /// public string CertificateType { get; set; } /// /// 图片URL /// public string ImageUrl { get; set; } } /// /// 取消报名预览输入 /// public class CancelPreviewInput { /// /// 报名ID /// public long RegistrationId { get; set; } } /// /// 取消报名预览输出 /// public class CancelPreviewOutput { /// /// 报名ID /// public long RegistrationId { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 团队名称 /// public string TeamName { get; set; } /// /// 收费模式(0-免费,1-定价(赛事),2-单价(赛事),3-单价(项目)) /// public int ChargeMode { get; set; } /// /// 实际支付金额 /// public decimal ActualPaidAmount { get; set; } /// /// 可退款金额(全部取消时) /// public decimal RefundableAmount { get; set; } /// /// 历史已退款金额 /// public decimal RefundedAmount { get; set; } /// /// 当前选择的退款金额(动态计算) /// public decimal CurrentRefundAmount { get; set; } /// /// 退款规则列表 /// public List RefundRules { get; set; } = new(); /// /// 当前适用的退款规则描述 /// public string? ApplicableRefundRule { get; set; } /// /// 项目列表(包含组别和团队信息) /// public List ProjectDetails { get; set; } = new(); /// /// 项目列表(保持兼容旧版) /// public List Projects { get; set; } = new(); /// /// 队员列表(保持兼容旧版) /// public List Members { get; set; } = new(); /// /// 支付方式(1-线下 2-线上) /// public int PaymentMethod { get; set; } /// /// 支付状态(0-未支付 1-已支付 2-支付中 3-退款中 4-已取消) /// public int PaymentStatus { get; set; } /// /// 是否需要填写收款人信息(线下支付且已支付时需要) /// public bool NeedPayeeInfo { get; set; } } /// /// 取消报名项目详情DTO(包含组别和团队信息) /// public class CancelPreviewProjectDetailDto { /// /// 项目ID /// public long ProjectId { get; set; } /// /// 项目名称 /// public string ProjectName { get; set; } /// /// 项目类型(个人/团队) /// public string ProjectType { get; set; } /// /// 人数 /// public int PersonCount { get; set; } /// /// 单价 /// public decimal UnitPrice { get; set; } /// /// 组别列表 /// public List Groups { get; set; } = new(); } /// /// 取消报名组别DTO /// public class CancelPreviewGroupDto { /// /// 组别名称 /// public string GroupName { get; set; } /// /// 报名项目ID /// public long RegistrationItemId { get; set; } /// /// 项目类型名称 /// public string ProjectTypeName { get; set; } /// /// 人数 /// public int PersonCount { get; set; } /// /// 该报名项目的单价 /// public decimal UnitPrice { get; set; } /// /// 出生日期起始日期(年龄限制) /// public DateTime? BirthDateStart { get; set; } /// /// 出生日期结束日期(年龄限制) /// public DateTime? BirthDateEnd { get; set; } /// /// 性别要求 /// public Gender? GenderRequirement { get; set; } /// /// 团队列表(个人项目只有一个"无团队"条目) /// public List Teams { get; set; } = new(); } /// /// 取消报名团队DTO /// public class CancelPreviewTeamDto { /// /// 团队名称 /// public string TeamName { get; set; } /// /// 团队索引(用于标识不同的团队) /// public int TeamIndex { get; set; } /// /// 所属的报名项目ID /// public long RegistrationItemId { get; set; } /// /// 队员列表 /// public List Members { get; set; } = new(); } /// /// 退款规则DTO /// public class RefundRuleDto { /// /// 距离比赛开始天数(起) /// public int DayStart { get; set; } /// /// 距离比赛开始天数(止) /// public int DayEnd { get; set; } /// /// 扣除比例(%) /// public decimal DeductPercentage { get; set; } /// /// 退款备注 /// public string? Remark { get; set; } } /// /// 取消报名项目DTO /// public class CancelPreviewProjectDto { /// /// 项目ID /// public long ProjectId { get; set; } /// /// 项目名称 /// public string ProjectName { get; set; } /// /// 项目类型(个人/团队) /// public string ProjectType { get; set; } /// /// 人数 /// public int PersonCount { get; set; } /// /// 单价 /// public decimal UnitPrice { get; set; } } /// /// 取消报名队员DTO /// public class CancelPreviewMemberDto { /// /// 队员ID /// public long MemberId { get; set; } /// /// 姓名 /// public string Name { get; set; } /// /// 是否为队长 /// public bool IsLeader { get; set; } } /// /// 取消报名执行输入 /// public class CancelExecuteInput { /// /// 报名ID /// public long RegistrationId { get; set; } /// /// 取消类型(0-全部取消,1-部分取消) /// public int CancelType { get; set; } /// /// 取消原因 /// public string CancelReason { get; set; } /// /// 要取消的队员ID列表(部分取消时使用) /// public List? PersonIds { get; set; } /// /// 要取消的团队列表(团队项目部分取消时使用) /// 每个元素格式: {RegistrationItemId}_{TeamIndex} /// public List? CancelTeams { get; set; } /// /// 当前计算的退款金额 /// public decimal CalculatedRefundAmount { get; set; } /// /// 收款人姓名(线下支付且已支付时必填) /// public string? PayeeName { get; set; } /// /// 收款人开户行(线下支付且已支付时必填) /// public string? PayeeBankName { get; set; } /// /// 收款人银行卡号(线下支付且已支付时必填) /// public string? PayeeBankAccount { get; set; } } /// /// 取消报名执行输出 /// public class CancelExecuteOutput { /// /// 是否成功 /// public bool Success { get; set; } /// /// 消息 /// public string Message { get; set; } /// /// 退款金额 /// public decimal RefundAmount { get; set; } /// /// 退款单号 /// public string? RefundNo { get; set; } /// /// 取消时间 /// public DateTime CancelTime { get; set; } } /// /// 参赛记录详情(包含项目和队员) /// public class RegistrationDetailWithItemsDto { /// /// 报名ID /// public long RegistrationId { get; set; } /// /// 赛事ID /// public long EventId { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 团队名称 /// public string TeamName { get; set; } /// /// 项目列表 /// public List Items { get; set; } = new(); } /// /// 报名项目(包含队员) /// public class RegistrationItemWithMembersDto { /// /// 报名项目ID /// public long RegistrationItemId { get; set; } /// /// 项目ID /// public long ProjectId { get; set; } /// /// 赛事项目组别ID(用于验证) /// public long EventProjectGroupId { get; set; } /// /// 项目名称 /// public string ProjectName { get; set; } /// /// 组别名称 /// public string GroupName { get; set; } /// /// 项目类型 /// public string ProjectTypeName { get; set; } /// /// 人数 /// public int PersonCount { get; set; } /// /// 项目完成人数(从Project表读取) /// public int ProjectCompletionCount { get; set; } /// /// 出生日期起始日期(年龄限制) /// public DateTime? BirthDateStart { get; set; } /// /// 出生日期结束日期(年龄限制) /// public DateTime? BirthDateEnd { get; set; } /// /// 性别要求 /// public Gender? GenderRequirement { get; set; } /// /// 队员列表 /// public List Members { get; set; } = new(); } /// /// 更新参赛队员输入 /// public class UpdateRegistrationMembersInput { /// /// 报名ID /// [Required(ErrorMessage = "报名ID不能为空")] public long RegistrationId { get; set; } /// /// 项目队员更新列表 /// [Required(ErrorMessage = "项目队员列表不能为空")] public List Items { get; set; } = new(); } /// /// 项目队员更新 /// public class UpdateItemMembersInput { /// /// 报名项目ID /// [Required(ErrorMessage = "报名项目ID不能为空")] public long RegistrationItemId { get; set; } /// /// 队员列表 /// [Required(ErrorMessage = "队员列表不能为空")] public List Members { get; set; } = new(); } /// /// 更新队员信息 /// public class UpdatePersonInput { /// /// 用户ID(新队员) /// public long? UserId { get; set; } /// /// 姓名 /// public string? Name { get; set; } /// /// 性别 /// public Gender? Gender { get; set; } /// /// 身份证号 /// public string? IdCardNumber { get; set; } /// /// 出生日期 /// public DateTime? BirthDate { get; set; } /// /// 手机号 /// public string? Mobile { get; set; } }