diff --git a/YD_Event.Application/Client/CheckinScheduleService.cs b/YD_Event.Application/Client/CheckinScheduleService.cs index 45053ff..d9fb755 100644 --- a/YD_Event.Application/Client/CheckinScheduleService.cs +++ b/YD_Event.Application/Client/CheckinScheduleService.cs @@ -262,6 +262,7 @@ public class CheckinScheduleService : ITransient var normalized = sessionName.Trim(); if (normalized.StartsWith('第') && normalized.EndsWith('场')) normalized = normalized[1..^1].Trim(); + if (normalized.EndsWith('+')) normalized = normalized[..^1].Trim(); return int.TryParse(normalized, out var value) && value > 0 ? value : fallback; } diff --git a/YD_Event.Application/Judge/JudgeScoringController.cs b/YD_Event.Application/Judge/JudgeScoringController.cs index 83a5d7e..eb812ac 100644 --- a/YD_Event.Application/Judge/JudgeScoringController.cs +++ b/YD_Event.Application/Judge/JudgeScoringController.cs @@ -1693,7 +1693,7 @@ public class JudgeScoringController : IDynamicApiController private static int GetImportedSessionOrder(string? sessionName, int fallback) { if (string.IsNullOrWhiteSpace(sessionName)) return fallback; - var match = Regex.Match(sessionName, @"^\s*(?:第\s*)?(?\d+)(?:\s*场)?\s*$", + var match = Regex.Match(sessionName, @"^\s*(?:第\s*)?(?\d+)(?:\s*\+)?(?:\s*场)?\s*$", RegexOptions.CultureInvariant); return match.Success && int.TryParse(match.Groups["sequence"].Value, out var sequence) && sequence > 0 ? sequence diff --git a/YD_Event.Application/Workbench/WorkbenchController.cs b/YD_Event.Application/Workbench/WorkbenchController.cs index b25dbd9..832d466 100644 --- a/YD_Event.Application/Workbench/WorkbenchController.cs +++ b/YD_Event.Application/Workbench/WorkbenchController.cs @@ -2219,7 +2219,7 @@ public partial class WorkbenchController : IDynamicApiController private static int GetImportedSessionOrder(string? sessionName, int fallback) { if (string.IsNullOrWhiteSpace(sessionName)) return fallback; - var match = Regex.Match(sessionName, @"^\s*(?:第\s*)?(?\d+)(?:\s*场)?\s*$", + var match = Regex.Match(sessionName, @"^\s*(?:第\s*)?(?\d+)(?:\s*\+)?(?:\s*场)?\s*$", RegexOptions.CultureInvariant); return match.Success && int.TryParse(match.Groups["sequence"].Value, out var sequence) && sequence > 0 ? sequence