From 22d0427df9a3b2b11df235293ccf0c11ece5f52b Mon Sep 17 00:00:00 2001 From: Sam <315859133@qq.com> Date: Thu, 5 Feb 2026 14:49:19 +0800 Subject: [PATCH] fix(risk-control): fix null safety and magic numbers in aggregates --- .../Aggregates/RiskRules/RiskRule.cs | 4 ++-- .../Aggregates/RiskScores/RiskScore.cs | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Fengling.RiskControl.Domain/Aggregates/RiskRules/RiskRule.cs b/Fengling.RiskControl.Domain/Aggregates/RiskRules/RiskRule.cs index 7394e7f..c2f1330 100644 --- a/Fengling.RiskControl.Domain/Aggregates/RiskRules/RiskRule.cs +++ b/Fengling.RiskControl.Domain/Aggregates/RiskRules/RiskRule.cs @@ -53,8 +53,8 @@ public class RiskRule : Entity, IAggregateRoot UpdatedAt = DateTime.UtcNow; } - public T GetConfig() where T : class + public T? GetConfig() where T : class { - return System.Text.Json.JsonSerializer.Deserialize(ConfigJson)!; + return System.Text.Json.JsonSerializer.Deserialize(ConfigJson); } } diff --git a/Fengling.RiskControl.Domain/Aggregates/RiskScores/RiskScore.cs b/Fengling.RiskControl.Domain/Aggregates/RiskScores/RiskScore.cs index 2fcba61..7266882 100644 --- a/Fengling.RiskControl.Domain/Aggregates/RiskScores/RiskScore.cs +++ b/Fengling.RiskControl.Domain/Aggregates/RiskScores/RiskScore.cs @@ -43,11 +43,14 @@ public class RiskScore : Entity, IAggregateRoot RiskLevel = RiskLevel.Low; } + private static readonly int HIGH_THRESHOLD = 70; + private static readonly int MEDIUM_THRESHOLD = 30; + private void RecalculateScore() { TotalScore = _factors.Sum(f => f.Points); - RiskLevel = TotalScore >= 70 ? RiskLevel.High : - TotalScore >= 30 ? RiskLevel.Medium : + RiskLevel = TotalScore >= HIGH_THRESHOLD ? RiskLevel.High : + TotalScore >= MEDIUM_THRESHOLD ? RiskLevel.Medium : RiskLevel.Low; }