fix: 修复无交易记录自动结算并增加分时电量观测对比

复用 settleOrder 主路径纠正状态/锁/实时数据取值等问题,补充 mock 单测与 sys_job SQL;交易记录到达时按实时曲线估算尖峰平谷仅打日志对比,不参与结算。
This commit is contained in:
jsowell
2026-08-12 16:17:31 +08:00
parent 896908d692
commit 40c34fa49c
16 changed files with 1278 additions and 620 deletions

View File

@@ -33,7 +33,7 @@ public class AutoSettleConfigTest {
Assert.assertEquals("金额阈值比例默认1.5", Double.valueOf(1.5), config.getAmountThresholdRatio());
Assert.assertEquals("数据新鲜度默认30分钟", Integer.valueOf(30), config.getDataFreshnessMinutes());
Assert.assertTrue("告警开关默认开启", config.getAlertEnabled());
Assert.assertEquals("锁超时默认300秒", Long.valueOf(300L), config.getLockTimeout());
Assert.assertEquals("锁超时默认60秒", Integer.valueOf(60), config.getLockTimeoutSeconds());
Assert.assertEquals("默认cron表达式", "0 */10 * * * ?", config.getInterval());
System.out.println("✅ 默认值测试通过");
@@ -83,7 +83,7 @@ public class AutoSettleConfigTest {
config.setAmountThresholdRatio(2.0);
config.setDataFreshnessMinutes(60);
config.setAlertEnabled(false);
config.setLockTimeout(600L);
config.setLockTimeoutSeconds(600);
Assert.assertTrue(config.getEnabled());
Assert.assertEquals(Integer.valueOf(20), config.getTimeoutMinutes());
@@ -92,7 +92,7 @@ public class AutoSettleConfigTest {
Assert.assertEquals(Double.valueOf(2.0), config.getAmountThresholdRatio());
Assert.assertEquals(Integer.valueOf(60), config.getDataFreshnessMinutes());
Assert.assertFalse(config.getAlertEnabled());
Assert.assertEquals(Long.valueOf(600L), config.getLockTimeout());
Assert.assertEquals(Integer.valueOf(600), config.getLockTimeoutSeconds());
System.out.println("✅ Setter/Getter测试通过");
}