ltx 25830581d2 feat(api): 完善小程序赛事角色与秩序册检录接口
新增成绩查询、裁判认证及检录员账号管理接口,并统一小程序角色登录与个人中心数据。

检录任务绑定赛事秩序册场次,按项目、组别、场地和场次顺序执行;支持最多三名检录员、分配检录轮次及前序检录校验。

补充检录任务、检录记录、裁判申请实体及四份数据库迁移,包含表字段备注、秩序册绑定和检录序号。
2026-08-07 14:59:15 +08:00

202 lines
4.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace YD_Event.Application.Event.Dtos;
/// <summary>
/// 编排项目列表输出
/// </summary>
public class ArrangementProjectListOutput
{
/// <summary>
/// 项目ID
/// </summary>
public long ProjectId { get; set; }
/// <summary>
/// 项目名称
/// </summary>
public string ProjectName { get; set; }
/// <summary>
/// 项目类型
/// </summary>
public string ProjectType { get; set; }
/// <summary>
/// 比赛时长(秒)
/// </summary>
public int DurationSeconds { get; set; }
/// <summary>
/// 组别列表
/// </summary>
public List<ArrangementGroupDto> Groups { get; set; }
/// <summary>
/// 场地数量
/// </summary>
public int VenueCount { get; set; }
/// <summary>
/// 排序索引
/// </summary>
public int SortIndex { get; set; }
/// <summary>
/// 总时长(秒)
/// </summary>
public int TotalDurationSeconds { get; set; }
/// <summary>
/// 总时长(分钟,向上取整)
/// </summary>
public int TotalDurationMinutes { get; set; }
/// <summary>
/// 团队总数(仅团队项目有效)
/// </summary>
public int TotalTeams { get; set; }
}
/// <summary>
/// 编排组别DTO
/// </summary>
public class ArrangementGroupDto
{
/// <summary>
/// 组别名称
/// </summary>
public string GroupName { get; set; }
/// <summary>
/// 参与人数
/// </summary>
public int ParticipantCount { get; set; }
}
/// <summary>
/// 更新编排设置输入
/// </summary>
public class ArrangementUpdateInput
{
/// <summary>
/// 赛事ID
/// </summary>
public long EventId { get; set; }
/// <summary>
/// 项目设置列表
/// </summary>
public List<ProjectArrangementSetting> Settings { get; set; }
}
/// <summary>
/// 项目编排设置
/// </summary>
public class ProjectArrangementSetting
{
/// <summary>
/// 项目ID
/// </summary>
public long ProjectId { get; set; }
/// <summary>
/// 场地数量
/// </summary>
public int VenueCount { get; set; }
/// <summary>
/// 排序索引
/// </summary>
public int SortIndex { get; set; }
/// <summary>
/// 比赛时长(秒)
/// </summary>
public int DurationSeconds { get; set; }
}
/// <summary>
/// 编排预览输出
/// </summary>
public class ArrangementPreviewOutput
{
/// <summary>
/// 赛事项目ID,关联 EventProject.Id。
/// </summary>
public long EventProjectId { get; set; }
/// <summary>
/// 项目基础数据ID,关联 Project.Id。
/// </summary>
public long ProjectId { get; set; }
/// <summary>
/// 赛事项目组别ID;同一场次跨组别时,由使用方按人员明细汇总。
/// </summary>
public long? EventProjectGroupId { get; set; }
/// <summary>
/// 报名项目ID(唯一标识符)
/// </summary>
public long RegistrationItemId { get; set; }
/// <summary>
/// 当前秩序册条目包含的报名人员ID。团队项目可能包含多人。
/// </summary>
public List<long> RegistrationPersonIds { get; set; } = new();
/// <summary>
/// 时间范围
/// </summary>
public string TimeRange { get; set; }
/// <summary>
/// 项目名称
/// </summary>
public string ProjectName { get; set; }
/// <summary>
/// 项目类型
/// </summary>
public string ProjectType { get; set; }
/// <summary>
/// 组别名称
/// </summary>
public string GroupName { get; set; }
/// <summary>
/// 团队名称
/// </summary>
public string TeamName { get; set; }
/// <summary>
/// 运动员名称
/// </summary>
public string AthleteName { get; set; }
/// <summary>
/// 单位名称
/// </summary>
public string UnitName { get; set; }
/// <summary>
/// 场次索引
/// </summary>
public int SessionIndex { get; set; }
/// <summary>
/// 场地索引
/// </summary>
public int VenueIndex { get; set; }
/// <summary>
/// 项目总时长(秒)
/// </summary>
public int ProjectTotalDurationSeconds { get; set; }
/// <summary>
/// 项目总时长(格式化字符串)
/// </summary>
public string ProjectTotalDuration { get; set; }
}