From 9bd8e752b5d7ba7177fa16d74565b741699f5c22 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 31 八月 2026 00:43:06 +0800
Subject: [PATCH] 实现 Ticket14 区间完整性检查与检测完成

---
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTestMapper.java |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTestMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTestMapper.java
index 780e742..b567608 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTestMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTestMapper.java
@@ -15,6 +15,7 @@
 import com.ruoyi.system.domain.TTestCollectorExceptionInterval;
 import com.ruoyi.system.domain.TTestReceptionInterval;
 import com.ruoyi.system.domain.TTestBackfillCursor;
+import com.ruoyi.system.domain.TTestIntegrityIssue;
 import com.ruoyi.system.domain.TDetectionChannel;
 import com.ruoyi.system.domain.vo.TestBatteryOptionVo;
 import com.ruoyi.system.domain.vo.TestChannelOptionVo;
@@ -127,6 +128,7 @@
     int updateTestBackfillWaiting(@Param("testId") Long testId, @Param("updatedAtUtc") Date updatedAtUtc,
             @Param("error") String error);
     int updateTestBackfillCompleted(@Param("testId") Long testId, @Param("updatedAtUtc") Date updatedAtUtc);
+    int updateTestCompleted(@Param("testId") Long testId, @Param("updatedAtUtc") Date updatedAtUtc);
     int updateTestNaturallyEnded(@Param("testId") Long testId, @Param("endedAtUtc") Date endedAtUtc);
     String selectSampleContentHash(@Param("channelId") Long channelId, @Param("btsTestId") String btsTestId,
             @Param("sequenceId") Long sequenceId);
@@ -145,6 +147,7 @@
     Long selectBtsSampleId(@Param("channelId") Long channelId, @Param("btsTestId") String btsTestId,
             @Param("sequenceId") Long sequenceId);
     int insertCollectorSample(@Param("testId") Long testId, @Param("bindingId") Long bindingId,
+            @Param("intervalId") Long intervalId,
             @Param("collectorId") Long collectorId, @Param("channelCode") String channelCode,
             @Param("sequenceId") Long sequenceId, @Param("deviceTimeUtc") Date deviceTimeUtc,
             @Param("deviceTimeRaw") String deviceTimeRaw, @Param("receivedAtUtc") Date receivedAtUtc,
@@ -157,4 +160,27 @@
             @Param("metricCode") String metricCode);
     int insertBackfillConflict(@Param("testId") Long testId, @Param("channelId") Long channelId,
             @Param("detail") String detail);
+    List<TTestIntegrityIssue> selectIntegrityIssues(Long testId);
+    List<TTestIntegrityIssue> selectTestExceptionFacts(Long testId);
+    List<Long> selectBtsSequencesByInterval(Long intervalId);
+    List<Long> selectCollectorSequencesByInterval(Long intervalId);
+    TTestIntegrityIssue selectOpenIntegrityIssue(@Param("intervalId") Long intervalId,
+            @Param("sourceType") String sourceType, @Param("sourceId") Long sourceId,
+            @Param("sourceChannelCode") String sourceChannelCode, @Param("missingFrom") Long missingFrom,
+            @Param("missingTo") Long missingTo);
+    List<TTestIntegrityIssue> selectOpenIntegrityIssues(@Param("intervalId") Long intervalId,
+            @Param("sourceType") String sourceType, @Param("sourceId") Long sourceId,
+            @Param("sourceChannelCode") String sourceChannelCode);
+    int insertIntegrityIssue(TTestIntegrityIssue issue);
+    int touchIntegrityIssue(@Param("issueId") Long issueId, @Param("retryCount") Integer retryCount,
+            @Param("detail") String detail, @Param("detectedAtUtc") Date detectedAtUtc);
+    int rewindBackfillCursor(@Param("testId") Long testId, @Param("bindingId") Long bindingId,
+            @Param("sourceType") String sourceType, @Param("sourceId") Long sourceId,
+            @Param("sourceChannelCode") String sourceChannelCode, @Param("nextPosition") Long nextPosition);
+    int resolveIntegrityIssues(@Param("testId") Long testId, @Param("intervalId") Long intervalId,
+            @Param("sourceType") String sourceType, @Param("sourceId") Long sourceId,
+            @Param("sourceChannelCode") String sourceChannelCode, @Param("resolvedAtUtc") Date resolvedAtUtc);
+    int resolveIntegrityIssue(@Param("issueId") Long issueId, @Param("resolvedAtUtc") Date resolvedAtUtc);
+    int countOpenIntegrityIssues(Long testId);
+    int countOpenExceptions(Long testId);
 }

--
Gitblit v1.7.1