using System.ComponentModel.DataAnnotations; using YD_Event.Core.Enum; namespace YD_Event.Application.Referee.Dtos; public class RefereeQueryInput : Pagination { public string? Name { get; set; } public string? RegionCode { get; set; } public RefereeLevel? Level { get; set; } public string? Mobile { get; set; } public RefereeRole? Role { get; set; } public AuditStatus? AuditStatus { get; set; } public DateTime? StartTime { get; set; } public DateTime? EndTime { get; set; } } public class SaveRefereeInput { [Required(ErrorMessage = "裁判姓名不能为空"), StringLength(64)] public string Name { get; set; } = null!; [Required(ErrorMessage = "地区不能为空")] public string ProvinceCode { get; set; } = null!; [Required] public string ProvinceName { get; set; } = null!; [Required] public string CityCode { get; set; } = null!; [Required] public string CityName { get; set; } = null!; [Required] public string DistrictCode { get; set; } = null!; [Required] public string DistrictName { get; set; } = null!; [Required(ErrorMessage = "裁判等级不能为空")] public RefereeLevel Level { get; set; } [Required(ErrorMessage = "裁判证件不能为空")] public string CertificateUrl { get; set; } = null!; [Required(ErrorMessage = "手机号不能为空"), RegularExpression(@"^1[3-9]\d{9}$", ErrorMessage = "手机号格式不正确")] public string Mobile { get; set; } = null!; [Required(ErrorMessage = "验证码不能为空")] public string VerificationCode { get; set; } = null!; [Range(1, int.MaxValue, ErrorMessage = "至少选择一个裁判角色")] public RefereeRole Roles { get; set; } } public class UpdateRefereeInput : SaveRefereeInput { [Required] public long Id { get; set; } public new string? VerificationCode { get; set; } } public class RefereeOutput { public long Id { get; set; } public long? AppUserId { get; set; } public string Name { get; set; } = null!; public string Mobile { get; set; } = null!; public string ProvinceCode { get; set; } = null!; public string ProvinceName { get; set; } = null!; public string CityCode { get; set; } = null!; public string CityName { get; set; } = null!; public string DistrictCode { get; set; } = null!; public string DistrictName { get; set; } = null!; public string RegionName { get; set; } = null!; public RefereeLevel Level { get; set; } public string LevelName { get; set; } = null!; public string CertificateUrl { get; set; } = null!; public RefereeRole Roles { get; set; } public List RoleNames { get; set; } = new(); public AuditStatus AuditStatus { get; set; } public string? AuditRemark { get; set; } public long? AuditUserId { get; set; } public DateTime? AuditTime { get; set; } public DateTime CreatedTime { get; set; } } public class AuditRefereeInput { [Required] public long Id { get; set; } public AuditStatus AuditStatus { get; set; } public string? Remark { get; set; } }