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