From ac01569cde274483365de165e0405709825737b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=A2=93=E5=BD=AD?= Date: Fri, 9 Oct 2026 09:55:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E8=8A=B1=E6=A0=B7=20?= =?UTF-8?q?=E8=A7=84=E5=AE=9A=E5=88=86=E8=AE=A1=E7=AE=97=E6=9C=89=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YD_Event.Application/Scoring/ScoreRuleConfigService.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/YD_Event.Application/Scoring/ScoreRuleConfigService.cs b/YD_Event.Application/Scoring/ScoreRuleConfigService.cs index 84cc3b9..f1dcdf2 100644 --- a/YD_Event.Application/Scoring/ScoreRuleConfigService.cs +++ b/YD_Event.Application/Scoring/ScoreRuleConfigService.cs @@ -71,7 +71,13 @@ public static class ScoreRuleConfigService if (!config.IsFactorTotal) return; foreach (var role in config.RoleAggregations.Where(x => x.Factor == ScoreFactorCode.Required)) { - if (IsIndividualFamily(config.RuleType)) role.AggregateDecimals = null; + if (IsIndividualFamily(config.RuleType)) + { + // 个人花样的每类规定元素缺失数先按同类型裁判取平均,再四舍五入为整数参与 Q 计算。 + // 同步花样保留半个规定元素的精度。 + role.AggregateDecimals = string.Equals(config.RuleType, "FREESTYLE_SINGLE", + StringComparison.OrdinalIgnoreCase) ? 0 : null; + } if (config.RuleType.StartsWith("FREESTYLE_WHEEL", StringComparison.OrdinalIgnoreCase)) role.FactorWeight = 0.025m; }