新增成绩查询、裁判认证及检录员账号管理接口,并统一小程序角色登录与个人中心数据。 检录任务绑定赛事秩序册场次,按项目、组别、场地和场次顺序执行;支持最多三名检录员、分配检录轮次及前序检录校验。 补充检录任务、检录记录、裁判申请实体及四份数据库迁移,包含表字段备注、秩序册绑定和检录序号。
146 lines
5.5 KiB
C#
146 lines
5.5 KiB
C#
namespace YD_Event.Application.Client.Dtos;
|
|
|
|
public class ScoreEventDto
|
|
{
|
|
public long Id { get; set; }
|
|
public string Name { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class ScoreQueryInput
|
|
{
|
|
public long? EventId { get; set; }
|
|
public string? Keyword { get; set; }
|
|
}
|
|
|
|
public class JudgeScoreDto
|
|
{
|
|
public string Label { get; set; } = string.Empty;
|
|
public string Score { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class ClientScoreDto
|
|
{
|
|
public long Id { get; set; }
|
|
public long EventId { get; set; }
|
|
public string EventName { get; set; } = string.Empty;
|
|
public string AthleteName { get; set; } = string.Empty;
|
|
public string AthleteNo { get; set; } = string.Empty;
|
|
public string Category { get; set; } = string.Empty;
|
|
public string GroupName { get; set; } = string.Empty;
|
|
public string RoundName { get; set; } = "正式成绩";
|
|
public int Rank { get; set; }
|
|
public string TotalScore { get; set; } = string.Empty;
|
|
public string? DifficultyScore { get; set; }
|
|
public string? ExecutionScore { get; set; }
|
|
public string? CreativityScore { get; set; }
|
|
public string Status { get; set; } = "成绩有效";
|
|
public List<JudgeScoreDto> JudgeScores { get; set; } = new();
|
|
}
|
|
|
|
public class ScoreQueryOutput
|
|
{
|
|
public List<ClientScoreDto> Rows { get; set; } = new();
|
|
public int Total { get; set; }
|
|
}
|
|
|
|
public class RefereeApplyInput
|
|
{
|
|
[Required(ErrorMessage = "赛事ID不能为空")]
|
|
public long EventId { get; set; }
|
|
}
|
|
|
|
public class RefereeApplicationDto
|
|
{
|
|
public long Id { get; set; }
|
|
public long ApplicationId { get; set; }
|
|
public long EventId { get; set; }
|
|
public string EventName { get; set; } = string.Empty;
|
|
public string? CoverImage { get; set; }
|
|
public string? Address { get; set; }
|
|
public int EventStatus { get; set; }
|
|
public int ApplicationStatus { get; set; }
|
|
public string ApplicationStatusText { get; set; } = string.Empty;
|
|
public DateTime AppliedAt { get; set; }
|
|
public DateTime MatchStartTime { get; set; }
|
|
public DateTime MatchEndTime { get; set; }
|
|
public string MatchStartText => MatchStartTime.ToString("yyyy-MM-dd HH:mm");
|
|
public string MatchEndText => MatchEndTime.ToString("yyyy-MM-dd HH:mm");
|
|
}
|
|
|
|
public class RefereeApplicationListOutput
|
|
{
|
|
public List<RefereeApplicationDto> Rows { get; set; } = new();
|
|
public int Total { get; set; }
|
|
}
|
|
|
|
public class CheckinAthleteDto
|
|
{
|
|
public long Id { get; set; }
|
|
public long UserId { get; set; }
|
|
public string BibNo { get; set; } = string.Empty;
|
|
public string Name { get; set; } = string.Empty;
|
|
public string TeamName { get; set; } = string.Empty;
|
|
public bool Checked { get; set; }
|
|
public bool PreviousPassed { get; set; } = true;
|
|
public bool CanCheck { get; set; } = true;
|
|
public string LockReason { get; set; } = string.Empty;
|
|
public string OrderBookSessionName { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class CheckinContextDto
|
|
{
|
|
public long TaskId { get; set; }
|
|
public long EventId { get; set; }
|
|
public string EventName { get; set; } = string.Empty;
|
|
public string Venue { get; set; } = string.Empty;
|
|
public int TotalCheckins { get; set; }
|
|
public int CurrentCheckinNo { get; set; }
|
|
public string CurrentCheckinName { get; set; } = string.Empty;
|
|
public int TotalSessions { get; set; }
|
|
public int CurrentSessionOrder { get; set; }
|
|
public string CurrentSessionKey { get; set; } = string.Empty;
|
|
public string CurrentSessionName { get; set; } = string.Empty;
|
|
public string CurrentSessionVenue { get; set; } = string.Empty;
|
|
public string? NextSessionName { get; set; }
|
|
public List<CheckinSessionOptionDto> Sessions { get; set; } = new();
|
|
public long SelectedEventProjectId { get; set; }
|
|
public long SelectedGroupId { get; set; }
|
|
public List<CheckinProjectOptionDto> Projects { get; set; } = new();
|
|
public List<CheckinOrderBookUnitStatusDto> Units { get; set; } = new();
|
|
public List<CheckinOrderBookUnitStatusDto> PendingUnits { get; set; } = new();
|
|
public List<CheckinOrderBookUnitStatusDto> CheckedUnits { get; set; } = new();
|
|
public List<CheckinOrderBookUnitStatusDto> LockedUnits { get; set; } = new();
|
|
|
|
// 以下字段保留给旧版小程序兼容,值映射自秩序册场次。
|
|
public int TotalRounds { get; set; }
|
|
public int CurrentRound { get; set; }
|
|
public string RoundName { get; set; } = string.Empty;
|
|
public long? CurrentGroupId { get; set; }
|
|
public string CurrentGroupName { get; set; } = string.Empty;
|
|
public int GroupOrder { get; set; }
|
|
public int TotalGroups { get; set; }
|
|
public string? NextGroupName { get; set; }
|
|
public List<CheckinRoundOptionDto> Rounds { get; set; } = new();
|
|
public List<CheckinAthleteDto> Athletes { get; set; } = new();
|
|
public List<CheckinAthleteDto> PendingAthletes { get; set; } = new();
|
|
public List<CheckinAthleteDto> CheckedAthletes { get; set; } = new();
|
|
public List<CheckinAthleteDto> LockedAthletes { get; set; } = new();
|
|
}
|
|
|
|
public class UpdateCheckinStatusInput
|
|
{
|
|
[Required(ErrorMessage = "秩序册列标识不能为空")]
|
|
public string UnitKey { get; set; } = string.Empty;
|
|
public long EventProjectId { get; set; }
|
|
public long GroupId { get; set; }
|
|
public bool Checked { get; set; }
|
|
}
|
|
|
|
public class CheckinOrderBookUnitStatusDto : CheckinOrderBookUnitDto
|
|
{
|
|
public bool Checked { get; set; }
|
|
public bool PreviousPassed { get; set; } = true;
|
|
public bool CanCheck { get; set; } = true;
|
|
public string LockReason { get; set; } = string.Empty;
|
|
}
|