fix(swap): 修复互换实时持仓服务异常处理和结算模块计算问题

- 添加try-catch块包装RealtimeSwapPosition调用以捕获异常
- 记录互换实时持仓服务计算失败的日志
- 修复结算模块金额计算中的空引用问题
- 为unwind百分比、原始名义金额和计数比率添加空值检查
This commit is contained in:
hjhan
2026-04-16 16:54:17 +08:00
parent 14e9f225e3
commit 95ce3a3c8c
2 changed files with 10 additions and 19 deletions
+9 -18
View File
@@ -1,30 +1,14 @@
using ClosedXML.Report.Utils;
using CsvHelper;
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.Extensions.Logging;
using MoreLinq.Extensions;
using MoreLinq.Extensions;
using Newtonsoft.Json;
using OfficeOpenXml.Drawing;
using OfficeOpenXml.Drawing.Controls;
using Org.BouncyCastle.Asn1.Ocsp;
using Qdp.Pricing.Base.Implementations;
using Qdp.Pricing.Core.Modules;
using Qdp.Pricing.Library.Base.Utilities;
using System.Linq.Expressions;
using YLErp.BLL;
using YLErp.BLL.Eod;
using YLErp.DBModels;
using YLErp.DBModels.Enums;
using YLErp.Model;
using YLErp.Models;
using YLErp.Modules.DataProviderModule;
using YLErp.Modules.EodModule;
using YLErp.Modules.EodModule.QueryModule;
using YLErp.Modules.TradeModule;
using YLErp.Modules.TradeModule.DealModule;
using YLErp.QdpModule;
using static Microsoft.IO.RecyclableMemoryStreamManager;
using static YLErp.ConsGlobal;
namespace YLErp.Modules.SwapModule
{
@@ -799,7 +783,14 @@ namespace YLErp.Modules.SwapModule
{
Task.Run(() =>
{
RealtimePnlCalc.RealtimeSwapPosition(new OptUserInfo(0, "互换实时持仓服务", OptUserFrom.Service));
try
{
RealtimePnlCalc.RealtimeSwapPosition(new OptUserInfo(0, "互换实时持仓服务", OptUserFrom.Service));
}
catch (Exception ex)
{
LogFactory.GetLogger<SwapDealService>().Error("互换实时持仓服务计算失败", ex);
}
});
}
}