Files
zszq-trs/YLErpDAL/Modules/RiskEngine/RiskResult.cs
T
陈斐andClaude 4140293b36 feat: 新增风控引擎RiskEngine模块(第一版骨架)
- 新增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>
2026-06-22 11:23:11 +08:00

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; }
}
}