- 新增YLErpDAL/Modules/RiskEngine文件夹,与RiskModule平级隔离 - 新增核心模型: - RiskContext.cs:风控上下文(TradeId, TriggerPoint, DataMap) - RiskResult.cs:风控结果(Passed, Blocked, NeedApproval, Warnings, TriggeredRules) - 新增RiskEngineService: - Evaluate():1==1占位,验证服务可实例化 - EvaluateRisk(RiskContext, triggerPoint):核心风控检查入口 - 集成到现有流程: - QuotaMonitorService.QuotaCheck()末尾接入风控引擎 - 触发时点:BOOK_CONFIRM(簿记交易确认) - 按策略映射回QuotaTrialStatusEnum(Blocked→Error, NeedApproval→Warning) - 文件头包含完整技术方案与TODO清单 Co-Authored-By: Claude <noreply@anthropic.com>
58 lines
1.4 KiB
C#
58 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace YLErp.Modules.RiskEngine
|
|
{
|
|
/// <summary>
|
|
/// 风控结果
|
|
/// </summary>
|
|
public class RiskResult
|
|
{
|
|
/// <summary>
|
|
/// 是否全部通过
|
|
/// </summary>
|
|
public bool Passed { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// 是否被禁止
|
|
/// </summary>
|
|
public bool Blocked { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否需要审批
|
|
/// </summary>
|
|
public bool NeedApproval { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否存在执行异常
|
|
/// </summary>
|
|
public bool HasError { get; set; }
|
|
|
|
/// <summary>
|
|
/// 详细错误信息
|
|
/// </summary>
|
|
public string ErrorMessage { get; set; }
|
|
|
|
/// <summary>
|
|
/// 触发的规则列表
|
|
/// </summary>
|
|
public List<TriggeredRuleInfo> TriggeredRules { get; set; } = new List<TriggeredRuleInfo>();
|
|
|
|
/// <summary>
|
|
/// 提示类警告信息
|
|
/// </summary>
|
|
public List<string> Warnings { get; set; } = new List<string>();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 触发规则详情
|
|
/// </summary>
|
|
public class TriggeredRuleInfo
|
|
{
|
|
public string RuleCode { get; set; }
|
|
public string RuleName { get; set; }
|
|
public string ControlStrategy { get; set; }
|
|
public string FormulaText { get; set; }
|
|
public string Message { get; set; }
|
|
}
|
|
}
|