feat(SwapModule): 添加阶梯费率导入功能的详细日志记录

- 在解析线下费率前记录原始值和空值检查结果
- 记录百分比格式识别和转换过程中的详细信息
- 添加解析成功和失败情况的日志输出
- 记录直接解析小数格式的处理过程
- 添加最终设置OfflineRate值的日志记录
- 完善空值情况下的日志输出
This commit is contained in:
hjhan
2026-01-26 17:35:56 +08:00
parent a2dbe3bb95
commit ea609525f2
+21 -1
View File
@@ -310,28 +310,48 @@ namespace YLErp.Modules.SwapModule
// 处理线下费率
var offlineRate = reader.GetString("线下费率");
LogFactory.GetLogger("导入阶梯费率").Info($"第{rowIndex}行,原始线下费率值: '{offlineRate}', IsNullOrEmpty: {string.IsNullOrEmpty(offlineRate)}");
if (!string.IsNullOrEmpty(offlineRate))
{
LogFactory.GetLogger("导入阶梯费率").Info($"第{rowIndex}行,线下费率非空,准备解析: '{offlineRate}'");
decimal rate = 0;
if (offlineRate.EndsWith("%"))
{
LogFactory.GetLogger("导入阶梯费率").Info($"第{rowIndex}行,线下费率是百分比格式: '{offlineRate}'");
offlineRate = offlineRate.Replace("%", "");
if (decimal.TryParse(offlineRate, out rate))
{
rate /= 100;
LogFactory.GetLogger("导入阶梯费率").Info($"第{rowIndex}行,百分比解析成功: {offlineRate}% -> {rate}");
}
else
{
LogFactory.GetLogger("导入阶梯费率").Error($"第{rowIndex}行,百分比数值解析失败: '{offlineRate}'");
rate = 0;
}
}
else
{
LogFactory.GetLogger("导入阶梯费率").Info($"第{rowIndex}行,线下费率不是百分比格式: '{offlineRate}', 尝试直接解析");
// 如果不是百分比格式,直接尝试解析为小数
if (!decimal.TryParse(offlineRate, out rate))
{
// 解析失败时的处理
LogFactory.GetLogger("导入阶梯费率").Error($"第{rowIndex}行,线下费率解析失败:{offlineRate}");
LogFactory.GetLogger("导入阶梯费率").Error($"第{rowIndex}行,线下费率解析失败: '{offlineRate}'");
rate = 0;
}
else
{
LogFactory.GetLogger("导入阶梯费率").Info($"第{rowIndex}行,直接解析成功: {offlineRate} -> {rate}");
}
}
swapRate.OfflineRate = rate;
LogFactory.GetLogger("导入阶梯费率").Info($"第{rowIndex}行,最终设置OfflineRate为: {rate}");
}
else
{
LogFactory.GetLogger("导入阶梯费率").Info($"第{rowIndex}行,线下费率为null或空字符串");
}
ValidateSwapRate(swapRate);