hjhan
|
46cf7025a4
|
refactor(trace): 计息全路径埋点 + 关键日志常驻落盘
覆盖补全 CalcDailyCompoundInterest / CalcDailySimpleInterestByEod /
CalcDailyCompoundInterestByEod / InitSwapDealInterest 分支与复利跨期直取 /
orginPv 重映射 / preEod.id==0 播种 / ToRemainingClosePercent 语义翻转。
关键决策点改用 Critical() 无条件落盘(IYcLogger.Info, 类别 SwapCalc),
与开关解耦——出问题事后翻日志即可定位,不必事前开开关。
开关态(Header/Line/Day)仅作排障便利(?swaptrace=1 / 单测 Dump)。
纯增日志不改控制流;YLErpDAL 与 UnitTestProject 编译0错,
PrepaidPrincipal trace 测试 2/2 通过(SKIP_INITIALIZATION)。
|
2026-08-08 16:32:16 +08:00 |
|
hjhan
|
97029897c4
|
feat(swap): SwapCalcTrace 支持运行时按请求开关 + 响应头可见(无需重启)
- SwapCalcTrace 改为双模式:保留全局静态开关(单元测试用 IsEnabled/Dump),
新增请求级 AsyncLocal 缓冲(EnableForRequest/DumpForRequest/ClearForRequest),
由中间件按请求开关,不跨请求串扰。
- 新增 SwapCalcTraceMiddleware:开启方式三选一——URL ?swaptrace=1 /
请求头 X-SwapCalc-Trace:1 / 标记文件 App_Data/swapcalctrace.on(无需重启);
Response.OnStarting 时把逐日计息过程写入响应头 X-SwapCalc-Trace(超长落
logs/swapcalctrace-YYYYMMDD.log 并在头给路径),同时写服务器日志。
开发者在浏览器“网络”面板即可查看,零前端改码、零行为影响、性能可忽略。
- Program.cs 在 ExceptionMiddleware 后注册该中间件。
- 删除 CalcDailyCompoundInterestByEod 遗留垃圾日志 LogFactory.GetLogger("test").Error("lksafhasdhfjas")。
- CalcDailySimpleInterest 两处追踪守卫改为 IsEnabled||IsRequestEnabled。
- 既有 PrepaidPrincipalCloseTraceTest / ClosingChainTraceTest 2/2 仍全绿。
回答用户两点:① dynomicPrincipal 公式字段含义;② 原 Trace 需重启才能开,
现改为前端 otcdebug 式(?swaptrace=1) 即可在响应头看到逐步计息过程。
|
2026-08-08 15:57:00 +08:00 |
|
hjhan
|
cd8c3b6c95
|
test(swap): 预付金腿两段式平仓计息过程暴露 + SwapCalcTrace追踪器
- 新增 SwapCalcTrace(零成本可开关追踪器,默认关闭,对生产零行为影响):
在 CalcDailySimpleInterest 埋点,逐日记录计息起点/日终归档 ValueDate 地板/
计息基数 dynomicPrincipal/当日利率/当日利息/累计,便于定位计息异常根因。
- 新增 PrepaidPrincipalCloseTraceTest:用截图参数(本金100000.23/利率2.1111%/
8.4平40%→8.7全平)暴露计息过程,证明第二次平仓利息完全由日终归档 ValueDate
决定——正确归档(ValueDate=8.4)+算尾=3天=10.41(Excel本次利息);
错误归档(ValueDate=8.1)复现系统截图 6天=20.83。守卫1钉正确值10.41,
守卫2复现20.83并证明 ValueDate 即『缺的要素』。
- 修正覆盖结论:浮动端/利息腿已有两段式覆盖,预付金腿两段式此前缺失(缺口
与截图坏『预付金端』一行精确对应)。
|
2026-08-08 15:02:54 +08:00 |
|