From a032c09cec581eaf6b3daae7b33bfec0b1e4a1f5 Mon Sep 17 00:00:00 2001 From: hjhan Date: Fri, 12 Dec 2025 18:54:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(risk):=20=E4=BC=98=E5=8C=96=E9=A2=9D?= =?UTF-8?q?=E5=BA=A6=E7=9B=91=E6=8E=A7=E6=9C=8D=E5=8A=A1=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E7=A9=BA=E5=80=BC=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 针对标的、客户和簿记类型添加空值检查 - 当获取数据为空时记录日志并设置默认显示值 - 统一处理逻辑以提高代码可读性和健壮性 --- .../Modules/RiskModule/QuotaMonitorService.cs | 54 +++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs b/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs index 0dbb23d9..897cee20 100644 --- a/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs +++ b/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs @@ -2692,16 +2692,64 @@ namespace YLErp.Modules.RiskModule switch (O.QuotaType) { case QuotaTypeEnum.UNDERLYING: - O.QuotaRangeStr = O.QuotaRange == 0 ? "全部" : DataCacheProvider.GetUnderlyingDataSource().GetData(O.QuotaRange).UnderlyingCode; + if (O.QuotaRange == 0) + { + O.QuotaRangeStr = "全部"; + } + else + { + var underlying = DataCacheProvider.GetUnderlyingDataSource().GetData(O.QuotaRange); + if (underlying == null) + { + _logger.Info($"未找到ID为 {O.QuotaRange} 的标的,quotaSetting ID: {O.id}"); + O.QuotaRangeStr = "未知标的"; + } + else + { + O.QuotaRangeStr = underlying.UnderlyingCode; + } + } break; case QuotaTypeEnum.STOCK_PERCENT: O.QuotaRangeStr = O.QuotaRange + "天"; break; case QuotaTypeEnum.CLIENT: - O.QuotaRangeStr = O.QuotaRange == 0 ? "全部" : DataCacheProvider.GetClientDataSource().GetData(O.QuotaRange).Name; + if (O.QuotaRange == 0) + { + O.QuotaRangeStr = "全部"; + } + else + { + var client = DataCacheProvider.GetClientDataSource().GetData(O.QuotaRange); + if (client == null) + { + _logger.Info($"未找到ID为 {O.QuotaRange} 的客户,quotaSetting ID: {O.id}"); + O.QuotaRangeStr = "未知客户"; + } + else + { + O.QuotaRangeStr = client.Name; + } + } break; case QuotaTypeEnum.Assetunit: - O.QuotaRangeStr = O.QuotaRange == 0 ? "全部" : DataCacheProvider.GetAssetUnitDataSource().GetData(O.QuotaRange).Name; + if (O.QuotaRange == 0) + { + O.QuotaRangeStr = "全部"; + } + else + { + var assetUnit = DataCacheProvider.GetAssetUnitDataSource().GetData(O.QuotaRange); + if (assetUnit == null) + { + _logger.Info($"未找到ID为 {O.QuotaRange} 的簿记,quotaSetting ID: {O.id}"); + O.QuotaRangeStr = "未知簿记"; + } + else + { + O.QuotaRangeStr = assetUnit.Name; + } + } break; case QuotaTypeEnum.GLOBAL_OFF_EXCHANGE: case QuotaTypeEnum.GLOBAL_OPTION: