using System.ComponentModel.DataAnnotations; using YD_Event.Core.Enum; using SqlSugar; namespace YD_Event.Application.Client.Dtos; /// /// 通用分页输入 /// public class MyPageInput : Pagination { } /// /// 个人中心-首页信息 /// public class MyProfileDto { /// /// 昵称 /// public string NickName { get; set; } /// /// 头像 /// public string Avatar { get; set; } /// /// 手机号 /// public string Mobile { get; set; } /// /// 积分 /// public int Points { get; set; } /// /// 证书数量 /// public int CertificateCount { get; set; } /// /// 实名认证状态:0-未认证,1-已认证,2-审核中 /// public int AuthStatus { get; set; } /// /// 所在单位 /// public string? MerchantName { get; set; } /// /// 性别:0-未知,1-男,2-女 /// public int? Gender { get; set; } /// /// 出生日期 /// public DateTime? BirthDate { get; set; } } /// /// 个人中心-实名认证信息 /// public class MyAuthInfoDto { /// /// 认证类型:1-身份证,2-护照 /// public int AuthType { get; set; } /// /// 姓名 /// public string Name { get; set; } /// /// 手机号 /// public string Mobile { get; set; } /// /// 性别 /// public int? Gender { get; set; } /// /// 出生日期 /// public DateTime? BirthDate { get; set; } /// /// 身份证号(认证类型1时使用) /// public string? IdCardNumber { get; set; } /// /// 身份证正面图片(认证类型1时使用) /// public string? IdCardImageUrl { get; set; } /// /// 护照图片(认证类型2时使用) /// public string? PassportPhotoUrl { get; set; } /// /// 审核状态 /// public AuditStatus AuditStatus { get; set; } /// /// 审核备注 /// public string? AuditRemark { get; set; } } /// /// 提交实名认证 /// public class SubmitAuthInput { /// /// 认证类型:1-身份证,2-护照 /// [Required(ErrorMessage = "认证类型不能为空")] public int AuthType { get; set; } /// /// 姓名 /// [Required(ErrorMessage = "姓名不能为空")] [MaxLength(50, ErrorMessage = "姓名不能超过50个字符")] public string Name { get; set; } /// /// 手机号 /// [Required(ErrorMessage = "手机号不能为空")] [RegularExpression(@"^1[3-9]\d{9}$", ErrorMessage = "请输入正确的手机号格式")] public string Mobile { get; set; } /// /// 手机号验证码 /// [Required(ErrorMessage = "手机号验证码不能为空")] public string SmsCode { get; set; } /// /// 性别(认证类型2时需要) /// public int? Gender { get; set; } /// /// 出生日期(认证类型2时需要) /// public DateTime? BirthDate { get; set; } /// /// 身份证号(认证类型1时必填) /// [MaxLength(20, ErrorMessage = "身份证号不能超过20个字符")] public string? IdCardNumber { get; set; } /// /// 身份证正面图片(认证类型1时必填) /// [MaxLength(500, ErrorMessage = "图片URL不能超过500个字符")] public string? IdCardImageUrl { get; set; } /// /// 护照图片(认证类型2时必填) /// [MaxLength(500, ErrorMessage = "图片URL不能超过500个字符")] public string? PassportPhotoUrl { get; set; } } /// /// 个人中心-我的团队 /// public class MyTeamDto { /// /// 团队ID /// public long Id { get; set; } /// /// 团队名称 /// public string Name { get; set; } /// /// 队员数量 /// public int MemberCount { get; set; } /// /// 是否队长 /// public bool IsLeader { get; set; } } /// /// 团队成员 /// public class MyTeamMemberDto { /// /// 姓名 /// public string Name { get; set; } /// /// 性别:0-未知,1-男,2-女 /// public int Gender { get; set; } /// /// 年龄 /// public int? Age { get; set; } /// /// 角色:1-运动员,2-教练,3-领队 /// public int PersonType { get; set; } /// /// 手机号(脱敏) /// public string? Mobile { get; set; } } /// /// 个人中心-团队详情 /// public class MyTeamDetailDto { /// /// 团队ID /// public long Id { get; set; } /// /// 团队名称 /// public string Name { get; set; } /// /// 领队信息 /// public MyTeamMemberDto? Leader { get; set; } /// /// 教练信息 /// public MyTeamMemberDto? Coach { get; set; } /// /// 创建时间 /// public DateTime CreatedTime { get; set; } /// /// 队员数量 /// public int MemberCount { get; set; } /// /// 成员列表 /// public List Members { get; set; } = new List(); } /// /// 个人中心-我的证书 /// public class MyCertificateDto { /// /// 证书ID /// public long Id { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 项目名称 /// public string ProjectName { get; set; } /// /// 组别名称 /// public string GroupName { get; set; } /// /// 项目-组别(合并显示) /// public string ProjectGroupDisplay => !string.IsNullOrEmpty(ProjectName) && !string.IsNullOrEmpty(GroupName) ? $"{ProjectName}-{GroupName}" : ProjectName ?? GroupName ?? ""; /// /// 证书名称 /// public string CertificateName { get; set; } /// /// 证书URL /// public string CertificateUrl { get; set; } /// /// 颁发时间 /// public DateTime? IssuedTime { get; set; } } /// /// 我的证书分页输入 /// public class MyCertificatePageInput : MyPageInput { /// /// 证书类型筛选:1-个人证书,2-团队证书,不传则查全部 /// public int? Type { get; set; } } /// /// 我的证书总览 /// public class MyCertificateOverviewDto { /// /// 证书总数 /// public int TotalCount { get; set; } } /// /// 个人中心-积分记录 /// public class MyPointsRecordDto { /// /// 记录ID /// public long Id { get; set; } /// /// 标题 /// public string Title { get; set; } /// /// 赛事名称 /// public string? EventName { get; set; } /// /// 项目名称 /// public string? ProjectName { get; set; } /// /// 组别名称 /// public string? GroupName { get; set; } /// /// 项目-组别(合并显示) /// public string ProjectGroupDisplay => !string.IsNullOrEmpty(ProjectName) && !string.IsNullOrEmpty(GroupName) ? $"{ProjectName}-{GroupName}" : ProjectName ?? GroupName ?? ""; /// /// 名次 /// public int? Rank { get; set; } /// /// 积分变动值 /// public decimal Points { get; set; } /// /// 创建时间 /// public DateTime CreatedTime { get; set; } /// /// 类型 (1-获取,2-消耗) /// public int Type { get; set; } } /// /// 积分记录分页输入 /// public class MyPointsPageInput : MyPageInput { /// /// 类型筛选:1-获取,2-消耗,不传则查全部 /// public int? Type { get; set; } /// /// 单位认证ID筛选,不传则查全部 /// public long? MerchantCertificationId { get; set; } } /// /// 我的积分总览 /// public class MyPointsOverviewDto { /// /// 总积分 /// public int TotalPoints { get; set; } } /// /// 个人中心-我的订单 /// public class MyOrderDto { /// /// 订单ID /// public long Id { get; set; } /// /// 订单号 /// public string OrderNo { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 实付金额 /// public decimal ActualAmount { get; set; } /// /// 退款金额 /// public decimal? RefundAmount { get; set; } /// /// 订单状态 /// public OrderStatus OrderStatus { get; set; } /// /// 支付/退款时间 /// public DateTime? PaymentTime { get; set; } /// /// 创建时间 /// public DateTime CreatedTime { get; set; } } /// /// 订单详情-项目项 /// public class MyOrderItemDto { /// /// 项目名称 /// public string ProjectName { get; set; } /// /// 组别名称 /// public string GroupName { get; set; } /// /// 费用 /// public decimal Fee { get; set; } } /// /// 个人中心-订单详情 /// public class MyOrderDetailDto { /// /// 订单ID /// public long Id { get; set; } /// /// 订单号 /// public string OrderNo { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 实付金额 /// public decimal ActualAmount { get; set; } /// /// 退款金额 /// public decimal? RefundAmount { get; set; } /// /// 退款时间 /// public DateTime? RefundTime { get; set; } /// /// 订单状态 /// public OrderStatus OrderStatus { get; set; } /// /// 支付时间 /// public DateTime? PaymentTime { get; set; } /// /// 支付方式:1-线上,2-线下 /// public int PaymentMethod { get; set; } /// /// 项目列表 /// public List Items { get; set; } = new List(); } /// /// 个人中心-参赛记录 /// public class MyRegistrationDto { /// /// 报名ID /// public long Id { get; set; } /// /// 赛事名称 /// public string EventName { get; set; } /// /// 团队名称 (个人赛则为个人) /// public string TeamName { get; set; } /// /// 报名状态 /// public int Status { get; set; } /// /// 报名时间 /// public DateTime RegistrationTime { get; set; } /// /// 报名项目集合 /// public string ProjectNames { get; set; } }