From 78f53edb9542a83d9579714cf4e1e8133fc89ee9 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期六, 05 九月 2026 19:24:13 +0800
Subject: [PATCH] 修复接收中设备离线异常的记录与展示

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

diff --git a/ruoyi-admin/src/test/java/com/battery/business/service/impl/TestDataReceptionServiceImplTest.java b/ruoyi-admin/src/test/java/com/battery/business/service/impl/TestDataReceptionServiceImplTest.java
index 6d9fd83..0a5bfe0 100644
--- a/ruoyi-admin/src/test/java/com/battery/business/service/impl/TestDataReceptionServiceImplTest.java
+++ b/ruoyi-admin/src/test/java/com/battery/business/service/impl/TestDataReceptionServiceImplTest.java
@@ -48,6 +48,23 @@
     private static final Clock CLOCK = Clock.fixed(CAPTURED_AT, ZoneOffset.UTC);
 
     @Test
+    void recordsOfflineSourcesInBackgroundEvenWithoutSuccessfulSamples() {
+        Fixture fixture = fixture();
+        when(fixture.mapper.selectOfflineTestSources(1L)).thenReturn(List.of(
+                new com.battery.business.domain.vo.OfflineTestSource("COLLECTOR", "9")));
+        var service = fixture.service();
+
+        service.captureReceivedData();
+        service.captureReceivedData();
+
+        verify(fixture.mapper).upsertOfflineException(1L, "COLLECTOR", "9", Date.from(CAPTURED_AT));
+        verify(fixture.mapper, never()).insertRealtimeRecord(any());
+        when(fixture.mapper.selectTestByIdForUpdate(1L)).thenReturn(null);
+        service.captureReceivedData();
+        verify(fixture.mapper, times(1)).selectOfflineTestSources(1L);
+    }
+
+    @Test
     void savesOneCombinedRealtimeRowForOneBatteryPollingSlot()
     {
         Fixture fixture = fixture();

--
Gitblit v1.7.1