#nullable enable using System.ComponentModel.DataAnnotations; using YD_Event.Core.Enum; using SqlSugar; using Easy.Core; namespace YD_Event.Application.Team.Dtos; /// /// 团队查询输入参数 /// public class TeamQueryInput : Pagination { /// /// 团队名称 /// public string? Name { get; set; } /// /// 状态 /// public AvailabilityStatus? Status { get; set; } /// /// 开始时间 /// public DateTime? StartTime { get; set; } /// /// 结束时间 /// public DateTime? EndTime { get; set; } } /// /// 新增团队输入参数 /// public class AddTeamInput { /// /// 团队名称 /// [Required(ErrorMessage = "团队名称不能为空"), MaxLength(64)] public string Name { get; set; } = null!; /// /// 领队ID集合 /// public List? LeaderIds { get; set; } /// /// 教练ID集合 /// public List? CoachIds { get; set; } /// /// 队员ID集合 /// public List? MemberIds { get; set; } } /// /// 修改团队输入参数 /// public class UpdateTeamInput : AddTeamInput { /// /// 主键Id /// [Required(ErrorMessage = "Id不能为空")] public long Id { get; set; } } /// /// 团队列表输出 /// public class TeamOutput { /// /// 主键Id /// public long Id { get; set; } /// /// 团队名称 /// public string Name { get; set; } = null!; /// /// 状态 /// public AvailabilityStatus Status { get; set; } /// /// 领队姓名(多个逗号分隔) /// public string? LeaderNames { get; set; } /// /// 教练姓名(多个逗号分隔) /// public string? CoachNames { get; set; } /// /// 创建时间 /// public DateTime CreatedTime { get; set; } } /// /// 团队详情输出 /// public class TeamDetailOutput : TeamOutput { /// /// 成员列表 /// public List Members { get; set; } = new(); } /// /// 团队成员输出 /// public class TeamMemberOutput { /// /// 用户ID /// public long UserId { get; set; } /// /// 姓名 /// public string Name { get; set; } = null!; /// /// 角色 (PersonType) /// public PersonType PersonType { get; set; } /// /// 角色描述 /// public string RoleName => PersonType.Description(); /// /// 联系电话 /// public string? Mobile { get; set; } }