feat:拆分新老风控校验逻辑,为之后老风控下线做准备。同时修复老风控特批跳过新风控的问题

This commit is contained in:
ruisu
2026-07-20 15:06:58 +08:00
parent 87199f18d6
commit 37e275d81e
3 changed files with 124 additions and 28 deletions
@@ -203,26 +203,38 @@ namespace YLErp.Modules.TradeModule.DealModule
result.ErrorMsg = $"未找到客户信息:{td.ClientName}";
return result;
}
if (!ignoreMoneyCheck && !continueQuotaCheck)
if (!continueQuotaCheck)
{
result = CheckTradeConfirmRule(result, td, isSkipApproval);
if (!string.IsNullOrWhiteSpace(result.ErrorMsg))
{
return result;
}
result = CheckClientRating(result, client, td);
if (!string.IsNullOrWhiteSpace(result.ErrorMsg))
{
return result;
}
var trialService = new QuotaMonitorService(this);
if (!trialService.QuotaCheck(ref result, ignoreRiskWarning, ignoreRiskRuleIds))
if (ignoreMoneyCheck)
{
return result;
// ignoreMoneyCheck 表示老风控资金/限额检查已被特批放行,只跳过老风控;新风控仍需独立执行。
if (!trialService.CheckTradeConfirmNewRisk(ref result, ignoreRiskWarning, ignoreRiskRuleIds))
{
return result;
}
}
else
{
// 正常确认流程:先执行原有交易确认规则和客户评级检查,再执行完整风控(老风控 + 新风控)。
result = CheckTradeConfirmRule(result, td, isSkipApproval);
if (!string.IsNullOrWhiteSpace(result.ErrorMsg))
{
return result;
}
result = CheckClientRating(result, client, td);
if (!string.IsNullOrWhiteSpace(result.ErrorMsg))
{
return result;
}
if (!trialService.CheckTradeConfirmRisk(ref result, ignoreRiskWarning, ignoreRiskRuleIds))
{
return result;
}
}
}
var history = "确认交易";