From 2e683cd7090e2d6a057216fc62429792f7b97aef Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期四, 03 九月 2026 14:31:21 +0800
Subject: [PATCH] 工步图表更新

---
 ruoyi-admin/src/test/java/com/ruoyi/config/FlywayMigrationContractTest.java                |   10 ++++++++++
 ruoyi-admin/src/test/java/com/ruoyi/config/DevelopmentSimulatorProfileContractTest.java    |   20 ++++++++++++++++++++
 ruoyi-admin/src/main/resources/db/migration/V31__unified_realtime_snapshots.sql            |    8 ++++----
 ruoyi-admin/src/main/resources/application.yml                                             |    3 ++-
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestDataReceptionServiceImpl.java |    2 +-
 5 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 181ad7f..fc8bc14 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -60,7 +60,8 @@
     # 国际化资源文件路径
     basename: i18n/messages
   profiles:
-    active: druid
+    # 仓库默认启动用于本机联调;真实设备部署必须覆盖并移除 dev-simulator。
+    active: druid,dev-simulator
   # 文件上传
   servlet:
     multipart:
diff --git a/ruoyi-admin/src/main/resources/db/migration/V31__unified_realtime_snapshots.sql b/ruoyi-admin/src/main/resources/db/migration/V31__unified_realtime_snapshots.sql
index 0e5f683..fbdb66e 100644
--- a/ruoyi-admin/src/main/resources/db/migration/V31__unified_realtime_snapshots.sql
+++ b/ruoyi-admin/src/main/resources/db/migration/V31__unified_realtime_snapshots.sql
@@ -29,8 +29,8 @@
     PRIMARY KEY (snapshot_id),
     UNIQUE KEY uk_test_snapshot_slot (test_id, binding_id, capture_slot_utc),
     KEY idx_snapshot_test_time (test_id, capture_slot_utc),
-    CONSTRAINT fk_snapshot_test FOREIGN KEY (test_id) REFERENCES t_test (test_id),
-    CONSTRAINT fk_snapshot_binding FOREIGN KEY (binding_id) REFERENCES t_test_channel_binding (binding_id),
-    CONSTRAINT fk_snapshot_channel FOREIGN KEY (channel_id) REFERENCES t_detection_channel (channel_id),
-    CONSTRAINT fk_snapshot_collector FOREIGN KEY (collector_id) REFERENCES t_collector (collector_id)
+    CONSTRAINT fk_realtime_snapshot_test FOREIGN KEY (test_id) REFERENCES t_test (test_id),
+    CONSTRAINT fk_realtime_snapshot_binding FOREIGN KEY (binding_id) REFERENCES t_test_channel_binding (binding_id),
+    CONSTRAINT fk_realtime_snapshot_channel FOREIGN KEY (channel_id) REFERENCES t_detection_channel (channel_id),
+    CONSTRAINT fk_realtime_snapshot_collector FOREIGN KEY (collector_id) REFERENCES t_collector (collector_id)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='主动轮询形成的完整实时采集快照';
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/config/DevelopmentSimulatorProfileContractTest.java b/ruoyi-admin/src/test/java/com/ruoyi/config/DevelopmentSimulatorProfileContractTest.java
new file mode 100644
index 0000000..9a63722
--- /dev/null
+++ b/ruoyi-admin/src/test/java/com/ruoyi/config/DevelopmentSimulatorProfileContractTest.java
@@ -0,0 +1,20 @@
+package com.ruoyi.config;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.util.List;
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.env.YamlPropertySourceLoader;
+import org.springframework.core.io.ClassPathResource;
+
+class DevelopmentSimulatorProfileContractTest
+{
+    @Test
+    void enablesSimulatorSchedulingForDefaultDevelopmentStartup() throws Exception
+    {
+        var sources = new YamlPropertySourceLoader().load("application", new ClassPathResource("application.yml"));
+        Object profiles = sources.get(0).getProperty("spring.profiles.active");
+
+        assertEquals(List.of("druid", "dev-simulator"), List.of(String.valueOf(profiles).split(",")));
+    }
+}
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/config/FlywayMigrationContractTest.java b/ruoyi-admin/src/test/java/com/ruoyi/config/FlywayMigrationContractTest.java
index b595c92..ab2d666 100644
--- a/ruoyi-admin/src/test/java/com/ruoyi/config/FlywayMigrationContractTest.java
+++ b/ruoyi-admin/src/test/java/com/ruoyi/config/FlywayMigrationContractTest.java
@@ -149,6 +149,16 @@
         assertTrue(v20.contains("system:test:stop"));
         assertFalse(v20.matches("(?s).*\\bDROP\\s+TABLE\\b.*"));
 
+        String v31 = resource("db/migration/V31__unified_realtime_snapshots.sql");
+        assertTrue(v31.contains("CREATE TABLE t_test_realtime_snapshot"));
+        assertTrue(v31.contains("fk_realtime_snapshot_test"));
+        assertTrue(v31.contains("fk_realtime_snapshot_binding"));
+        assertTrue(v31.contains("fk_realtime_snapshot_channel"));
+        assertTrue(v31.contains("fk_realtime_snapshot_collector"));
+        assertFalse(v31.contains("fk_snapshot_test"));
+        assertFalse(v31.contains("fk_snapshot_binding"));
+        assertFalse(v31.contains("fk_snapshot_channel"));
+
         String testMapper = resource("mapper/system/TTestMapper.xml");
         assertTrue(testMapper.contains("selectReceivingChannelsForAdapter"));
         assertTrue(testMapper.contains("RECEPTION_RESUMED"));
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestDataReceptionServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestDataReceptionServiceImpl.java
index 4ba1b52..a0f426c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestDataReceptionServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestDataReceptionServiceImpl.java
@@ -23,7 +23,7 @@
 import com.ruoyi.system.service.ITTestService;
 import com.ruoyi.system.service.ITestDataReceptionService;
 
-/** 接收时确定测试归属,并以现有采样表追加保存检测柜事实。 */
+/** 接收时确定测试归属,分别保留检测柜、采集器原始事实,并形成统一实时快照。 */
 @Service
 public class TestDataReceptionServiceImpl implements ITestDataReceptionService
 {

--
Gitblit v1.7.1