From f6a7824ce9b24379c1ac930b74736f3340c59d53 Mon Sep 17 00:00:00 2001 From: Sam <315859133@qq.com> Date: Thu, 5 Feb 2026 15:25:54 +0800 Subject: [PATCH] fix(risk-control): fix minor code quality issues --- .../Events/MemberEventSubscriptions.cs | 4 +++- .../Services/OrderRiskValidationService.cs | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Fengling.RiskControl.Application/Events/MemberEventSubscriptions.cs b/Fengling.RiskControl.Application/Events/MemberEventSubscriptions.cs index 2e4eb9e..d0569e5 100644 --- a/Fengling.RiskControl.Application/Events/MemberEventSubscriptions.cs +++ b/Fengling.RiskControl.Application/Events/MemberEventSubscriptions.cs @@ -27,6 +27,8 @@ public class MemberRegisteredEventHandler : INotificationHandler { + private const int LARGE_POINT_THRESHOLD = 1000; + private readonly IRiskScoreRepository _scoreRepository; public PointsChangedEventHandler(IRiskScoreRepository scoreRepository) @@ -36,7 +38,7 @@ public class PointsChangedEventHandler : INotificationHandler 1000) + if (notification.ChangedPoints > LARGE_POINT_THRESHOLD) { var score = RiskScore.Create( notification.MemberId, diff --git a/Fengling.RiskControl.Application/Services/OrderRiskValidationService.cs b/Fengling.RiskControl.Application/Services/OrderRiskValidationService.cs index 8aab84c..a067ebb 100644 --- a/Fengling.RiskControl.Application/Services/OrderRiskValidationService.cs +++ b/Fengling.RiskControl.Application/Services/OrderRiskValidationService.cs @@ -17,6 +17,16 @@ public class OrderRiskValidationService : IOrderRiskValidationService public async Task ValidateDiscountAsync(OrderDiscountValidationRequest request) { + if (request.OriginalAmount <= 0) + { + return new OrderDiscountValidationResult + { + IsAllowed = false, + Reason = "订单金额必须大于0", + MaxDiscountAllowed = 0 + }; + } + var discountRate = (double)request.DiscountAmount / request.OriginalAmount; var riskResult = await _riskService.EvaluateRiskAsync(new RiskEvaluationRequest @@ -49,6 +59,7 @@ public class OrderRiskValidationService : IOrderRiskValidationService { RiskLevel.Low => request.OriginalAmount / 2, RiskLevel.Medium => request.OriginalAmount / 5, + RiskLevel.High => 0, _ => 0 };