马梓彭 99a1857088 完善二期接口
补齐接口文档和上线SQL
优化底层保存逻辑
2026-08-30 21:46:05 +08:00

767 lines
17 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.Workbench.Dtos;
/// <summary>
/// 工作台场次列表查询输入
/// </summary>
public class WorkbenchSessionQueryInput
{
/// <summary>
/// 赛事ID
/// </summary>
public long EventId { get; set; }
/// <summary>
/// 场地ID(可选)
/// </summary>
public long? VenueId { get; set; }
/// <summary>
/// 项目ID(可选)
/// </summary>
public long? EventProjectId { get; set; }
/// <summary>
/// 场次状态(可选):0-草稿,10-就绪,20-检录中,30-进行中,40-暂停,50-待确认,60-已结束,90-已取消
/// </summary>
public int? SessionStatus { get; set; }
/// <summary>
/// 关键词搜索(场次编号、场次名称)
/// </summary>
public string? Keyword { get; set; }
}
/// <summary>
/// 工作台场次信息
/// </summary>
public class WorkbenchSessionDto
{
/// <summary>
/// 场次ID
/// </summary>
public long SessionId { get; set; }
/// <summary>
/// 场次编号
/// </summary>
public string SessionNo { get; set; } = string.Empty;
/// <summary>
/// 场次名称
/// </summary>
public string? SessionName { get; set; }
/// <summary>
/// 赛事名称
/// </summary>
public string EventName { get; set; } = string.Empty;
/// <summary>
/// 项目名称
/// </summary>
public string ProjectName { get; set; } = string.Empty;
/// <summary>
/// 场地名称
/// </summary>
public string VenueName { get; set; } = string.Empty;
/// <summary>
/// 组别名称(多组别混合时为空)
/// </summary>
public string? GroupName { get; set; }
/// <summary>
/// 场次开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 场次结束时间
/// </summary>
public DateTime? EndTime { get; set; }
/// <summary>
/// 场次状态:0-草稿,10-就绪,20-检录中,30-进行中,40-暂停,50-待确认,60-已结束,90-已取消
/// </summary>
public int SessionStatus { get; set; }
/// <summary>
/// 场次状态名称
/// </summary>
public string SessionStatusName { get; set; } = string.Empty;
/// <summary>
/// 当前出场记录ID
/// </summary>
public long? CurrentEntryId { get; set; }
/// <summary>
/// 总出场数
/// </summary>
public int TotalEntries { get; set; }
/// <summary>
/// 已完成出场数
/// </summary>
public int CompletedEntries { get; set; }
/// <summary>
/// 已确认成绩数
/// </summary>
public int ConfirmedResults { get; set; }
}
/// <summary>
/// 工作台出场记录列表输入
/// </summary>
public class WorkbenchEntryQueryInput
{
/// <summary>
/// 场次ID
/// </summary>
public long SessionId { get; set; }
/// <summary>
/// 出场状态(可选)
/// </summary>
public int? EntryStatus { get; set; }
/// <summary>
/// 成绩状态(可选)
/// </summary>
public int? ResultStatus { get; set; }
/// <summary>
/// 关键词搜索(参赛者姓名、队名、出场编号)
/// </summary>
public string? Keyword { get; set; }
}
/// <summary>
/// 工作台出场记录详情
/// </summary>
public class WorkbenchEntryDetailDto
{
/// <summary>
/// 出场记录ID
/// </summary>
public long SessionEntryId { get; set; }
/// <summary>
/// 出场编号
/// </summary>
public string EntryNo { get; set; } = string.Empty;
/// <summary>
/// 出场顺序
/// </summary>
public int PlayOrder { get; set; }
/// <summary>
/// 参赛者姓名
/// </summary>
public string ParticipantName { get; set; } = string.Empty;
/// <summary>
/// 队伍名称(个人项目为空)
/// </summary>
public string? TeamName { get; set; }
/// <summary>
/// 组别名称
/// </summary>
public string GroupName { get; set; } = string.Empty;
/// <summary>
/// 出场状态:0-待出场,10-已检录,20-已叫号,30-进行中,40-已完成,80-退赛,90-取消比赛资格
/// </summary>
public int EntryStatus { get; set; }
/// <summary>
/// 出场状态名称
/// </summary>
public string EntryStatusName { get; set; } = string.Empty;
/// <summary>
/// 是否为重赛
/// </summary>
public bool IsRematch { get; set; }
/// <summary>
/// 成绩信息
/// </summary>
public WorkbenchEntryResultDto? Result { get; set; }
/// <summary>
/// 裁判评分详情列表
/// </summary>
public List<WorkbenchJudgeScoreDto> JudgeScores { get; set; } = new();
}
/// <summary>
/// 工作台出场成绩信息
/// </summary>
public class WorkbenchEntryResultDto
{
/// <summary>
/// 成绩ID
/// </summary>
public long ResultId { get; set; }
/// <summary>
/// 难度分
/// </summary>
public decimal DifficultyScore { get; set; }
/// <summary>
/// 表现分
/// </summary>
public decimal PerformanceScore { get; set; }
/// <summary>
/// 规定分
/// </summary>
public decimal RequiredScore { get; set; }
/// <summary>
/// 扣分
/// </summary>
public decimal DeductionScore { get; set; }
/// <summary>
/// 总分
/// </summary>
public decimal? TotalScore { get; set; }
/// <summary>
/// 成绩显示文本
/// </summary>
public string ScoreText { get; set; } = string.Empty;
/// <summary>
/// 是否取消比赛资格
/// </summary>
public bool IsDisqualified { get; set; }
/// <summary>
/// 取消比赛资格原因
/// </summary>
public string? DisqualifyReason { get; set; }
/// <summary>
/// 成绩状态:0-计算中,10-待复核,20-已确认,30-已投屏,40-已更正,90-已作废
/// </summary>
public int ResultStatus { get; set; }
/// <summary>
/// 成绩状态名称
/// </summary>
public string ResultStatusName { get; set; } = string.Empty;
/// <summary>
/// 当前成绩版本号
/// </summary>
public int ResultVersion { get; set; }
/// <summary>
/// 复核人(后台系统用户ID)
/// </summary>
public long? ReviewUserId { get; set; }
/// <summary>
/// 复核时间
/// </summary>
public DateTime? ReviewTime { get; set; }
/// <summary>
/// 排名
/// </summary>
public int? Rank { get; set; }
}
/// <summary>
/// 工作台裁判评分信息
/// </summary>
public class WorkbenchJudgeScoreDto
{
/// <summary>
/// 评分单ID
/// </summary>
public long ScoreSheetId { get; set; }
/// <summary>
/// 裁判席位编码
/// </summary>
public string JudgeRole { get; set; } = string.Empty;
/// <summary>
/// 裁判类型编码
/// </summary>
public string JudgeRoleType { get; set; } = string.Empty;
/// <summary>
/// 裁判类型名称
/// </summary>
public string JudgeRoleName { get; set; } = string.Empty;
/// <summary>
/// 裁判姓名
/// </summary>
public string JudgeName { get; set; } = string.Empty;
/// <summary>
/// 评分状态:0-草稿,10-已提交,20-已确认,30-已被修正,90-已作废
/// </summary>
public int SheetStatus { get; set; }
/// <summary>
/// 评分状态名称
/// </summary>
public string SheetStatusName { get; set; } = string.Empty;
/// <summary>
/// 难度分
/// </summary>
public decimal DifficultyScore { get; set; }
/// <summary>
/// 表现分
/// </summary>
public decimal PerformanceScore { get; set; }
/// <summary>
/// 规定分
/// </summary>
public decimal RequiredScore { get; set; }
/// <summary>
/// 扣分
/// </summary>
public decimal DeductionScore { get; set; }
/// <summary>
/// 合计得分
/// </summary>
public decimal TotalScore { get; set; }
/// <summary>
/// 是否判定取消比赛资格
/// </summary>
public bool IsDisqualified { get; set; }
/// <summary>
/// 提交时间
/// </summary>
public DateTime? SubmittedTime { get; set; }
/// <summary>
/// 是否存在待处理的修正申请
/// </summary>
public bool HasPendingCorrection { get; set; }
}
/// <summary>
/// 成绩投屏输入
/// </summary>
public class ResultScreenCastInput
{
/// <summary>
/// 赛事ID
/// </summary>
public long EventId { get; set; }
/// <summary>
/// 投屏类型:1-单个成绩,2-排名列表
/// </summary>
public int CastType { get; set; }
/// <summary>
/// 场地ID(可选,用于筛选投屏范围)
/// </summary>
public long? VenueId { get; set; }
/// <summary>
/// 项目ID(投屏排名时必填)
/// </summary>
public long? EventProjectId { get; set; }
/// <summary>
/// 组别ID(投屏排名时必填)
/// </summary>
public long? EventProjectGroupId { get; set; }
/// <summary>
/// 场次ID(投屏单个成绩时必填)
/// </summary>
public long? SessionId { get; set; }
/// <summary>
/// 出场记录ID(投屏单个成绩时必填)
/// </summary>
public long? SessionEntryId { get; set; }
/// <summary>
/// 成绩ID(投屏单个成绩时必填)
/// </summary>
public long? EventResultId { get; set; }
/// <summary>
/// 成绩版本号(可选,默认使用当前版本)
/// </summary>
public int? ResultVersion { get; set; }
}
/// <summary>
/// 成绩投屏输出
/// </summary>
public class ResultScreenCastOutput
{
/// <summary>
/// 投屏记录ID
/// </summary>
public long ScreenCastId { get; set; }
/// <summary>
/// 投屏类型:1-成绩,2-排名
/// </summary>
public int CastType { get; set; }
/// <summary>
/// 投屏时间
/// </summary>
public DateTime CastTime { get; set; }
/// <summary>
/// 投屏内容快照
/// </summary>
public string PayloadJson { get; set; } = string.Empty;
}
/// <summary>
/// 撤回投屏输入
/// </summary>
public class WithdrawScreenCastInput
{
/// <summary>
/// 投屏记录ID
/// </summary>
public long ScreenCastId { get; set; }
}
/// <summary>
/// 获取当前投屏内容输入
/// </summary>
public class GetCurrentScreenCastInput
{
/// <summary>
/// 赛事ID
/// </summary>
public long EventId { get; set; }
/// <summary>
/// 场地ID(可选)
/// </summary>
public long? VenueId { get; set; }
}
/// <summary>
/// 当前投屏内容输出
/// </summary>
public class CurrentScreenCastDto
{
/// <summary>
/// 投屏记录ID
/// </summary>
public long ScreenCastId { get; set; }
/// <summary>
/// 投屏类型:1-成绩,2-排名
/// </summary>
public int CastType { get; set; }
/// <summary>
/// 投屏状态:0-已投出,10-已撤回,20-已被新投屏替换
/// </summary>
public int CastStatus { get; set; }
/// <summary>
/// 投屏时间
/// </summary>
public DateTime CastTime { get; set; }
/// <summary>
/// 投屏内容(JSON格式)
/// </summary>
public string PayloadJson { get; set; } = string.Empty;
}
/// <summary>
/// 成绩修正申请审批输入
/// </summary>
public class ApproveScoreCorrectionInput
{
/// <summary>
/// 修正申请ID
/// </summary>
public long CorrectionId { get; set; }
/// <summary>
/// 审批结果:true-批准,false-拒绝
/// </summary>
public bool IsApproved { get; set; }
/// <summary>
/// 审批意见
/// </summary>
public string? ApproveRemark { get; set; }
}
/// <summary>
/// 成绩修正申请列表查询输入
/// </summary>
public class ScoreCorrectionQueryInput
{
/// <summary>
/// 赛事ID
/// </summary>
public long EventId { get; set; }
/// <summary>
/// 修正状态(可选):0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
/// </summary>
public int? CorrectionStatus { get; set; }
/// <summary>
/// 关键词搜索
/// </summary>
public string? Keyword { get; set; }
}
/// <summary>
/// 成绩修正申请列表项
/// </summary>
public class ScoreCorrectionListDto
{
/// <summary>
/// 修正申请ID
/// </summary>
public long CorrectionId { get; set; }
/// <summary>
/// 赛事名称
/// </summary>
public string EventName { get; set; } = string.Empty;
/// <summary>
/// 场次编号
/// </summary>
public string SessionNo { get; set; } = string.Empty;
/// <summary>
/// 出场编号
/// </summary>
public string EntryNo { get; set; } = string.Empty;
/// <summary>
/// 参赛者姓名
/// </summary>
public string ParticipantName { get; set; } = string.Empty;
/// <summary>
/// 裁判席位
/// </summary>
public string JudgeRole { get; set; } = string.Empty;
/// <summary>
/// 申请人姓名
/// </summary>
public string ApplyUserName { get; set; } = string.Empty;
/// <summary>
/// 申请修正原因
/// </summary>
public string ApplyReason { get; set; } = string.Empty;
/// <summary>
/// 申请时间
/// </summary>
public DateTime CreatedTime { get; set; }
/// <summary>
/// 修正状态:0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
/// </summary>
public int CorrectionStatus { get; set; }
/// <summary>
/// 修正状态名称
/// </summary>
public string CorrectionStatusName { get; set; } = string.Empty;
/// <summary>
/// 审批人姓名
/// </summary>
public string? ApproveUserName { get; set; }
/// <summary>
/// 审批时间
/// </summary>
public DateTime? ApproveTime { get; set; }
/// <summary>
/// 完成时间
/// </summary>
public DateTime? CompletedTime { get; set; }
}
/// <summary>
/// 成绩修正申请详情
/// </summary>
public class ScoreCorrectionDetailDto
{
/// <summary>
/// 修正申请ID
/// </summary>
public long CorrectionId { get; set; }
/// <summary>
/// 赛事信息
/// </summary>
public WorkbenchSessionDto Session { get; set; } = new();
/// <summary>
/// 出场信息
/// </summary>
public WorkbenchEntryDetailDto Entry { get; set; } = new();
/// <summary>
/// 原评分单信息
/// </summary>
public WorkbenchJudgeScoreDto OriginalScore { get; set; } = new();
/// <summary>
/// 新评分单信息(修正完成后有值)
/// </summary>
public WorkbenchJudgeScoreDto? NewScore { get; set; }
/// <summary>
/// 申请人信息
/// </summary>
public string ApplyUserName { get; set; } = string.Empty;
/// <summary>
/// 申请修正原因
/// </summary>
public string ApplyReason { get; set; } = string.Empty;
/// <summary>
/// 申请时间
/// </summary>
public DateTime CreatedTime { get; set; }
/// <summary>
/// 修正状态:0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
/// </summary>
public int CorrectionStatus { get; set; }
/// <summary>
/// 审批人姓名
/// </summary>
public string? ApproveUserName { get; set; }
/// <summary>
/// 审批意见
/// </summary>
public string? ApproveRemark { get; set; }
/// <summary>
/// 审批时间
/// </summary>
public DateTime? ApproveTime { get; set; }
/// <summary>
/// 完成时间
/// </summary>
public DateTime? CompletedTime { get; set; }
}
/// <summary>
/// 重赛输入
/// </summary>
public class CreateRematchInput
{
/// <summary>
/// 原出场记录ID
/// </summary>
public long OriginalSessionEntryId { get; set; }
/// <summary>
/// 重赛原因
/// </summary>
public string RematchReason { get; set; } = string.Empty;
}
/// <summary>
/// 重赛输出
/// </summary>
public class CreateRematchOutput
{
/// <summary>
/// 新出场记录ID
/// </summary>
public long NewSessionEntryId { get; set; }
/// <summary>
/// 新出场编号
/// </summary>
public string NewEntryNo { get; set; } = string.Empty;
/// <summary>
/// 新出场顺序
/// </summary>
public int NewPlayOrder { get; set; }
}
/// <summary>
/// 成绩作废输入
/// </summary>
public class VoidResultInput
{
/// <summary>
/// 出场记录ID
/// </summary>
public long SessionEntryId { get; set; }
/// <summary>
/// 作废原因
/// </summary>
public string VoidReason { get; set; } = string.Empty;
}
/// <summary>
/// 成绩确认输入
/// </summary>
public class ConfirmResultInput
{
/// <summary>
/// 成绩ID
/// </summary>
public long ResultId { get; set; }
}
/// <summary>
/// 批量成绩确认输入
/// </summary>
public class BatchConfirmResultInput
{
/// <summary>
/// 场次ID
/// </summary>
public long SessionId { get; set; }
/// <summary>
/// 成绩ID列表(可选,不传则确认该场次所有待确认成绩)
/// </summary>
public List<long>? ResultIds { get; set; }
}