本次提交实现风控引擎从占位代码到可运行版本的核心升级: 【模型合并】 - RiskRule.cs:删除 RiskRuleApplication,将策略/时点/范围合并到 RiskRule - 新增 FormulaJson 字段,用于 Roslyn 脚本解析 - 新增 CompiledScript 运行时字段(预编译委托,不持久化) 【规则编译器 - RuleCompiler.cs】 - ParseFormulaJson:解析 FormulaJson 条件列表 - BuildScriptCode:生成 Roslyn C# 脚本代码 - CompileScript:用 Roslyn 编译为 Func<RiskContext, bool> 委托 - 支持多条件 AND(逗号分隔自动拆分) - 变量类型映射:YLErp.DBModels.trade 等 【EvaluateRisk 升级】 - LoadRules → 筛选 TriggerPoint → 执行 CompiledScript → 按策略聚合 - 异常处理:返回 NeedApproval(审批类,可审批通过) - 示例规则:名义本金>1亿 且 保证金比例>50% → 禁止 【项目依赖】 - 新增 Microsoft.CodeAnalysis.CSharp (4.12.0) - 升级 System.Text.Encoding.CodePages 6.0.0 → 7.0.0 【验证】 - 簿记交易确认(BOOK_CONFIRM)已接入 QuotaMonitorService - 编译通过,运行验证通过 Co-Authored-By: Claude <noreply@anthropic.com>
84 lines
3.5 KiB
XML
84 lines
3.5 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<OutputType>Library</OutputType>
|
|
<TargetFramework>net6.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<LangVersion>10.0</LangVersion>
|
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
|
<RootNamespace>YLErp</RootNamespace>
|
|
<Version>5.0.0.1</Version>
|
|
<AssemblyVersion>5.0.0.1</AssemblyVersion>
|
|
<FileVersion>5.0.0.1</FileVersion>
|
|
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
|
|
<NoWarn>NU1803</NoWarn>
|
|
<RunAnalyzersDuringBuild>False</RunAnalyzersDuringBuild>
|
|
<EnableNETAnalyzers>False</EnableNETAnalyzers>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Compile Remove="BLL\MarginCalculation\DongWu\CalculationHelper.cs" />
|
|
<Compile Remove="Modules\EodModule\SettlementModule\EodClientBalanceCalcV2.cs" />
|
|
<Compile Remove="Modules\TQuoteModule\CustomizedQuoteService.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
|
|
<PackageReference Include="AutoMapper" Version="12.0.0" />
|
|
<PackageReference Include="Confluent.Kafka" Version="2.1.1" />
|
|
<PackageReference Include="CsvHelper" Version="28.0.1" />
|
|
<PackageReference Include="Dapper" Version="2.0.123" />
|
|
<PackageReference Include="FluentFTP" Version="45.2.0" />
|
|
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
|
|
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
|
|
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.12.0" />
|
|
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.10.0" />
|
|
<PackageReference Include="Microsoft.Net.Http.Headers" Version="2.2.8" />
|
|
<PackageReference Include="Oracle.EntityFrameworkCore" Version="6.21.90" />
|
|
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="3.21.90" />
|
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.2" />
|
|
<PackageReference Include="Snowflake.Core" Version="2.0.0" />
|
|
<PackageReference Include="SocialExplorer.FastDBF" Version="1.0.0" />
|
|
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.10.0" />
|
|
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.0" />
|
|
<PackageReference Include="Qdp.Pricing.Library.Options" Version="1.0.5" />
|
|
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
|
|
<PackageReference Include="YLErp.Office" Version="1.1.2" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Framework\YLErp.Cache\YLErp.Cache.csproj" />
|
|
<ProjectReference Include="..\Framework\YLErp.Core\YLErp.Core.csproj" />
|
|
<ProjectReference Include="..\Framework\YLErp.MailKit\YLErp.MailKit.csproj" />
|
|
<ProjectReference Include="..\Framework\YLErp.Resources\YLErp.Resources.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Reference Include="CxxCalcLib">
|
|
<HintPath>..\ThirdPartyLibs\CxxQdp\CxxCalcLib.dll</HintPath>
|
|
</Reference>
|
|
<Reference Include="YLErp.ThirdParty.CaculatePrice">
|
|
<HintPath>..\ThirdPartyLibs\YLErp.ThirdParty.CaculatePrice.dll</HintPath>
|
|
</Reference>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Compile Update="Properties\Resources.Designer.cs">
|
|
<DesignTime>True</DesignTime>
|
|
<AutoGen>True</AutoGen>
|
|
<DependentUpon>Resources.resx</DependentUpon>
|
|
</Compile>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Update="Properties\Resources.resx">
|
|
<Generator>ResXFileCodeGenerator</Generator>
|
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
|
</EmbeddedResource>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Folder Include="Modules\SwapModule\Interface\" />
|
|
</ItemGroup>
|
|
|
|
</Project> |