From cbf301a41d3ad43a61b472a780f932f3975a5614 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期六, 05 九月 2026 20:39:17 +0800
Subject: [PATCH] 修复多通道温度覆盖与实时阈值异常漏报

---
 ruoyi-admin/src/test/java/com/battery/business/service/impl/TestWarningExceptionServiceTest.java |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/test/java/com/battery/business/service/impl/TestWarningExceptionServiceTest.java b/ruoyi-admin/src/test/java/com/battery/business/service/impl/TestWarningExceptionServiceTest.java
index 84188d9..9291f0d 100644
--- a/ruoyi-admin/src/test/java/com/battery/business/service/impl/TestWarningExceptionServiceTest.java
+++ b/ruoyi-admin/src/test/java/com/battery/business/service/impl/TestWarningExceptionServiceTest.java
@@ -47,9 +47,24 @@
 
         service.evaluate(test, "COLLECTOR", "adapter:9:S-01", "temperature", new BigDecimal("31"), "℃", new Date());
         service.evaluate(test, "COLLECTOR", "adapter:9:S-01", "temperature", new BigDecimal("20"), "℃", new Date());
+        service.evaluate(test, "COLLECTOR", "adapter:9:S-01", "temperature", new BigDecimal("0"), "℃", new Date());
+        service.evaluate(test, "COLLECTOR", "adapter:9:S-01", "temperature", new BigDecimal("30"), "℃", new Date());
+        service.evaluate(test, "COLLECTOR", "adapter:9:S-01", "temperature", null, "℃", new Date());
 
         verify(mapper, times(1)).upsertWarningException(eq(1L), eq(11L), eq("COLLECTOR"), eq("adapter:9:S-01"),
                 eq("temperature"), eq(new BigDecimal("31")), eq("℃"), anyString(), eq("WARNING"), any(Date.class));
+    }
+
+    @Test
+    void nonReceivingTestsDoNotCreateThresholdTodos() {
+        var mapper = mock(TTestMapper.class);
+        var service = new TestWarningExceptionService(mapper);
+        var test = testWithThreshold("TEMPERATURE", new BigDecimal("8"), new BigDecimal("33"));
+        for (String reception : List.of("PAUSED", "ENDED", "NOT_STARTED")) {
+            test.setReceptionStatus(reception);
+            service.evaluate(test, "COLLECTOR", "9:S-01", "temperature", new BigDecimal("38"), "℃", new Date());
+        }
+        verifyNoInteractions(mapper);
     }
 
     @Test
@@ -78,6 +93,8 @@
         TTest test = new TTest();
         test.setTestId(1L);
         test.setThresholds(List.of(threshold));
+        test.setTestStatus("RUNNING");
+        test.setReceptionStatus("RECEIVING");
         return test;
     }
 }

--
Gitblit v1.7.1