using System.ComponentModel.DataAnnotations; using YD_Event.Core.Enum; namespace YD_Event.Application.Client.Dtos; /// /// 赛事列表项DTO /// public class EventListDto { /// /// 赛事ID /// public long Id { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 封面图片 /// public string CoverImage { get; set; } /// /// 赛事状态 /// public EventStatus EventStatus { get; set; } /// /// 报名开始时间 /// public DateTime RegistrationStartTime { get; set; } /// /// 报名结束时间 /// public DateTime RegistrationEndTime { get; set; } /// /// 比赛开始时间 /// public DateTime MatchStartTime { get; set; } /// /// 比赛结束时间 /// public DateTime MatchEndTime { get; set; } /// /// 地址 (省市区+详细地址) /// public string Address { get; set; } } /// /// 轮播图DTO /// public class BannerDto { /// /// 标题 /// public string Title { get; set; } /// /// 图片地址 /// public string ImageUrl { get; set; } /// /// 跳转链接类型 /// public LinkType LinkType { get; set; } /// /// 跳转链接URL /// public string LinkUrl { get; set; } /// /// 关联赛事ID /// public long? EventId { get; set; } } /// /// 赛事单位DTO /// public class EventUnitDto { /// /// 单位类型 /// public UnitType UnitType { get; set; } /// /// 单位名称 /// public string UnitName { get; set; } /// /// Logo图片地址 /// public string LogoUrl { get; set; } } /// /// 赛事详情DTO /// public class EventDetailDto : EventListDto { /// /// 宣传视频 /// public string EventVideo { get; set; } /// /// 赛事类型 /// public EventFormat EventType { get; set; } /// /// 收费模式 /// public ChargeMode ChargeMode { get; set; } /// /// 报名类型 /// public RegistrationType RegistrationType { get; set; } /// /// 赛事介绍 /// public string EventIntroduction { get; set; } /// /// 资料备注 /// public string MaterialRemark { get; set; } /// /// 资料上传开始时间 /// public DateTime? MaterialUploadStartTime { get; set; } /// /// 资料上传结束时间 /// public DateTime? MaterialUploadEndTime { get; set; } /// /// 退款规则文本 /// public string RefundRule { get; set; } /// /// 积分规则文本 /// public string PointsRule { get; set; } /// /// 个人项目限报数量 /// public int IndividualProjectLimit { get; set; } /// /// 团队项目限报数量 /// public int TeamProjectLimit { get; set; } /// /// 单位列表 /// public List Units { get; set; } /// /// 项目列表 /// public List Projects { get; set; } /// /// 上级项目类型名称 /// public string? ParentProjectTypeName { get; set; } } /// /// 赛事项目DTO /// public class EventProjectDto { /// /// 项目ID /// public long Id { get; set; } /// /// 项目名称 /// public string Name { get; set; } /// /// 类型名称 (个人/团队) /// public string TypeName { get; set; } /// /// 报名费用 /// public decimal Fee { get; set; } /// /// 组别列表 /// public List Groups { get; set; } } /// /// 项目组别DTO /// public class EventProjectGroupDto { /// /// 组别ID /// public long Id { get; set; } /// /// 组别名称 /// public string GroupName { get; set; } /// /// 性别要求文本 /// public string GenderRequirement { get; set; } /// /// 年龄要求文本 /// public string AgeRequirement { get; set; } } /// /// 赛事报名提交DTO /// public class SubmitRegistrationInput { /// /// 赛事ID /// [Required] public long EventId { get; set; } /// /// 报名模式 (1-个人 2-团队) /// [Required] public int RegistrationMode { get; set; } /// /// 团队名称 (团队报名必填) /// public string? TeamName { get; set; } /// /// 联系人姓名 /// [Required] public string ContactName { get; set; } /// /// 联系人电话 /// [Required] public string ContactPhone { get; set; } /// /// 报名项目列表 /// [Required] public List Items { get; set; } } /// /// 报名项目输入 /// public class SubmitRegistrationItemInput { /// /// 项目ID /// public long ProjectId { get; set; } /// /// 组别名称 (冗余存储,也可传 GroupId) /// public string GroupName { get; set; } /// /// 组别ID (建议传ID) /// public long? GroupId { get; set; } /// /// 参赛人员列表 /// public List Persons { get; set; } } /// /// 参赛人员输入 /// public class PersonInput { /// /// 姓名 /// [Required] public string Name { get; set; } /// /// 身份证号 /// [Required] public string IdCardNumber { get; set; } /// /// 性别 /// public Gender Gender { get; set; } /// /// 电话 /// public string Mobile { get; set; } /// /// 出生日期 /// public DateTime BirthDate { get; set; } } /// /// 支付信息DTO /// public class PaymentInfoDto { /// /// 报名ID /// public long RegistrationId { get; set; } /// /// 金额 /// public decimal Amount { get; set; } /// /// 支付方式 (1-线下 2-线上) /// public int PaymentMethod { get; set; } /// /// 银行账户名 (线下支付) /// public string? BankAccountName { get; set; } /// /// 银行账号 (线下支付) /// public string? BankAccountNo { get; set; } /// /// 开户行 (线下支付) /// public string? BankName { get; set; } /// /// 微信支付参数 /// public object? WechatPayParams { get; set; } } /// /// 上传凭证输入DTO /// public class UploadVoucherInput { /// /// 凭证图片URL /// [Required] public string VoucherUrl { get; set; } } /// /// 更新参赛人输入DTO /// public class UpdatePlayerInput { /// /// 参赛人员ID /// [Required] public long PersonId { get; set; } /// /// 姓名 /// [Required] public string Name { get; set; } /// /// 身份证号 /// [Required] public string IdCardNumber { get; set; } /// /// 性别 /// public Gender Gender { get; set; } /// /// 电话 /// public string Mobile { get; set; } } /// /// 已报赛事列表DTO /// public class MyEventListDto { /// /// 报名ID /// public long RegistrationId { get; set; } /// /// 赛事ID /// public long EventId { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 封面图片 /// public string CoverImage { get; set; } /// /// 报名状态 /// public int RegistrationStatus { get; set; } /// /// 支付状态 /// public int PaymentStatus { get; set; } /// /// 报名时间 /// public DateTime RegistrationTime { get; set; } /// /// 报名项目数 /// public int ProjectCount { get; set; } } /// /// 报名详情DTO /// public class RegistrationDetailDto { /// /// 报名ID /// public long RegistrationId { get; set; } /// /// 赛事ID /// public long EventId { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 封面图片 /// public string CoverImage { get; set; } /// /// 赛事状态 /// public EventStatus EventStatus { get; set; } /// /// 报名状态 /// public int RegistrationStatus { get; set; } /// /// 支付状态 /// public int PaymentStatus { get; set; } /// /// 总金额 /// public decimal TotalAmount { get; set; } /// /// 订单号 /// public string OrderNo { get; set; } /// /// 报名时间 /// public DateTime RegistrationTime { get; set; } /// /// 审核备注 /// public string? ReviewRemark { get; set; } /// /// 报名项目及人员 /// public List Items { get; set; } } /// /// 报名项目信息DTO /// public class RegistrationItemDto { /// /// 报名项目ID /// public long Id { get; set; } /// /// 项目名称 /// public string ProjectName { get; set; } /// /// 组别名称 /// public string GroupName { get; set; } /// /// 价格 /// public decimal Price { get; set; } /// /// 参赛人员列表 /// public List Persons { get; set; } } /// /// 报名人员信息DTO /// public class RegistrationPersonDto { /// /// 报名人员ID /// public long Id { get; set; } /// /// 姓名 /// public string Name { get; set; } /// /// 身份证号 /// public string IdCardNumber { get; set; } /// /// 性别 /// public Gender Gender { get; set; } /// /// 电话 /// public string Mobile { get; set; } } /// /// 报名状态查询DTO /// public class RegistrationStatusDto { /// /// 报名ID /// public long RegistrationId { get; set; } /// /// 报名状态 /// public int RegistrationStatus { get; set; } /// /// 支付状态 /// public int PaymentStatus { get; set; } /// /// 拒绝/取消原因 /// public string RejectReason { get; set; } }