fix(risk): 优化额度监控服务中的空值处理逻辑

- 针对标的、客户和簿记类型添加空值检查
- 当获取数据为空时记录日志并设置默认显示值
- 统一处理逻辑以提高代码可读性和健壮性
This commit is contained in:
hjhan
2025-12-12 18:54:11 +08:00
parent c421167d61
commit a032c09cec
@@ -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: