From 74f55db1acd945f4860b2d0b4bae48e2b918b32b Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 02 九月 2026 11:30:30 +0800
Subject: [PATCH] 移除接收区间补采与完整性旧链路
---
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTestMapper.java | 207 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 195 insertions(+), 12 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 8a1225a..f610df5 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
@@ -1,41 +1,224 @@
package com.ruoyi.system.mapper;
import java.util.List;
+import java.util.Date;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.system.domain.TTest;
import com.ruoyi.system.domain.TTestBattery;
import com.ruoyi.system.domain.TTestBatteryField;
+import com.ruoyi.system.domain.TTestChannelBinding;
+import com.ruoyi.system.domain.TTestCollectorChannel;
+import com.ruoyi.system.domain.TTestPlanStep;
import com.ruoyi.system.domain.TTestResult;
import com.ruoyi.system.domain.TTestWarningThreshold;
+import com.ruoyi.system.domain.TTestCollectorExceptionInterval;
+import com.ruoyi.system.domain.TTestCollectorSource;
+import com.ruoyi.system.domain.TTestBackfillCursor;
+import com.ruoyi.system.domain.TTestIntegrityIssue;
+import com.ruoyi.system.domain.TTestReceptionInterval;
+import com.ruoyi.system.domain.TTestLogicStepMapping;
+import com.ruoyi.system.domain.TDetectionChannel;
+import com.ruoyi.system.domain.TTestDataRevisionAction;
+import com.ruoyi.system.domain.TTestConsoleImportRecord;
+import com.ruoyi.system.domain.TTestDataOverride;
+import com.ruoyi.system.domain.vo.TestBatteryOptionVo;
+import com.ruoyi.system.domain.vo.TestChannelOptionVo;
+import com.ruoyi.system.domain.vo.TestCollectorOptionVo;
+import com.ruoyi.system.domain.vo.TestTypeOptionVo;
+import com.ruoyi.system.domain.vo.TestUserOptionVo;
-/** 测试管理数据访问接口。 */
+/** 测试配置及其只追加审计的数据访问接口。 */
public interface TTestMapper
{
TTest selectTestById(Long testId);
+ TTest selectTestByIdForUpdate(Long testId);
List<TTest> selectTestList(TTest test);
+ List<TTestBattery> selectBatteryNosByTestIds(@Param("testIds") List<Long> testIds);
TTest selectTestByName(String testName);
int insertTest(TTest test);
int updateTest(TTest test);
- int updateTestStatus(@Param("testId") Long testId, @Param("status") String status, @Param("updateBy") String updateBy);
int deleteTestById(@Param("testId") Long testId, @Param("updateBy") String updateBy);
- int deleteTestBatteriesByTestId(@Param("testId") Long testId, @Param("updateBy") String updateBy);
- int deleteTestFieldsByTestId(@Param("testId") Long testId, @Param("updateBy") String updateBy);
- int deleteTestThresholdsByTestId(@Param("testId") Long testId, @Param("updateBy") String updateBy);
+ int deleteTestBindingsByTestId(Long testId);
+ int deleteTestCollectorChannelsByTestId(Long testId);
+ int deleteTestPlanStepsByTestId(Long testId);
+ int deleteTestBatteriesByTestId(Long testId);
+ int deleteTestFieldsByTestId(Long testId);
+ int deleteTestThresholdsByTestId(Long testId);
+ int insertTestPlanStep(TTestPlanStep step);
int insertTestBattery(TTestBattery battery);
int insertTestBatteryField(TTestBatteryField field);
+ int insertTestChannelBinding(TTestChannelBinding binding);
+ int insertTestCollectorChannel(TTestCollectorChannel mapping);
int insertTestThreshold(TTestWarningThreshold threshold);
+ List<TTestPlanStep> selectTestPlanSteps(Long testId);
List<TTestBattery> selectTestBatteries(Long testId);
List<TTestBatteryField> selectTestBatteryFields(Long testId);
+ List<TTestChannelBinding> selectTestChannelBindings(Long testId);
+ List<TTestCollectorChannel> selectTestCollectorChannels(Long testId);
List<TTestWarningThreshold> selectTestThresholds(Long testId);
+ /** 按来源和起始边界顺序返回测试接收区间。 */
+ /** 查询当前正在接收的测试,供接收调度绑定测试事实。 */
+ List<Long> selectReceivingTestIds();
+ List<java.util.Map<String, Object>> selectPersistedRecords(@org.apache.ibatis.annotations.Param("testId") Long testId);
+ List<java.util.Map<String, Object>> selectPersistedSteps(@org.apache.ibatis.annotations.Param("testId") Long testId);
+ List<java.util.Map<String, Object>> selectPersistedCycles(@org.apache.ibatis.annotations.Param("testId") Long testId);
List<TTestResult> selectTestResults(TTestResult result);
- int countTestingByBatteryNo(@Param("batteryNo") String batteryNo, @Param("testId") Long testId);
- int countTestingByCabinetChannel(@Param("cabinetId") Long cabinetId, @Param("channelNo") Integer channelNo, @Param("testId") Long testId);
- int countTestBatteryRelation(@Param("testId") Long testId, @Param("relationId") Long relationId);
- int countTestBatteryFields(@Param("testId") Long testId, @Param("relationId") Long relationId, @Param("fieldName") String fieldName);
- int countTestThreshold(@Param("testId") Long testId, @Param("thresholdType") String thresholdType, @Param("thresholdId") Long thresholdId);
+ String selectLogicStepMappingsJson(Long testId);
+ int updateLogicStepMappings(@Param("testId") Long testId, @Param("mappingsJson") String mappingsJson,
+ @Param("updateBy") String updateBy, @Param("updateTime") Date updateTime);
int countTestTypeEnabled(Long testTypeId);
int countUserEnabled(Long userId);
int countBatteryInEnabledGroup(@Param("groupId") Long groupId, @Param("batteryNo") String batteryNo);
- int countCabinetEnabled(Long cabinetId);
- int countCollectorEnabled(@Param("collectorId") Long collectorId, @Param("cabinetId") Long cabinetId);
+ int countRegisteredChannel(Long channelId);
+ int countCollectorEnabled(Long collectorId);
+ Integer selectCollectorChannelCount(Long collectorId);
+ String selectCollectorCode(Long collectorId);
+ List<TestUserOptionVo> selectEnabledUserOptions();
+ List<TestTypeOptionVo> selectEnabledTestTypeOptions();
+ List<TestBatteryOptionVo> selectEnabledBatteryOptions();
+ List<TestChannelOptionVo> selectRegisteredChannelOptions();
+ List<TestCollectorOptionVo> selectEnabledCollectorOptions();
+ int insertTestAudit(@Param("testId") Long testId, @Param("eventType") String eventType,
+ @Param("actorId") Long actorId, @Param("actorName") String actorName,
+ @Param("previousValue") String previousValue, @Param("newValue") String newValue);
+
+ /** 锁定检测柜通道的最新可观测事实,供开始接收校验使用。 */
+ TDetectionChannel selectReceptionChannelForUpdate(Long channelId);
+ /** 锁定当前检测柜通道租约;返回空表示可接入。 */
+ /** 为每个绑定来源追加一个开放接收区间;区间关闭后仅保留历史事实。 */
+ /** 在停止动作事务内关闭该测试全部开放区间,返回实际关闭数量。 */
+ int hasReceivingTestForAdapter(@Param("adapterCode") String adapterCode);
+ int hasPausedOrEndedTestForAdapter(@Param("adapterCode") String adapterCode);
+ List<TDetectionChannel> selectReceivingChannelsForAdapter(@Param("adapterCode") String adapterCode);
+ boolean collectorOnline(Long collectorId);
+ int updateReceptionStarted(@Param("testId") Long testId, @Param("startedAtUtc") Date startedAtUtc,
+ @Param("runtimeAttach") boolean runtimeAttach, @Param("updateBy") String updateBy);
+ int updateReceptionPaused(@Param("testId") Long testId, @Param("updateBy") String updateBy,
+ @Param("updatedAtUtc") Date updatedAtUtc);
+ int updateReceptionResumed(@Param("testId") Long testId, @Param("updateBy") String updateBy,
+ @Param("updatedAtUtc") Date updatedAtUtc);
+ int updateReceptionStopped(@Param("testId") Long testId, @Param("updateBy") String updateBy,
+ @Param("endedAtUtc") Date endedAtUtc);
+
+ /** 查询仍在接收中的采集器来源。 */
+ /** 查询来源当前开放的断线区间。 */
+ String selectBtsSampleContentHash(@Param("channelId") Long channelId, @Param("btsTestId") String btsTestId,
+ @Param("sequenceId") Long sequenceId);
+
+ /** 查询需要自然结束或继续补采的测试。 */
+ /** 按稳定来源身份锁定补采游标,避免应用重启重复推进。 */
+ /** 按测试事实查询通道序号,避免补采重复写入已即时接收的采样。 */
+ String selectTestSampleContentHash(@Param("testId") Long testId, @Param("channelId") Long channelId,
+ @Param("sequenceId") Long sequenceId);
+ int insertBtsSample(@Param("testId") Long testId, @Param("bindingId") Long bindingId,
+ @Param("channelId") Long channelId, @Param("intervalId") Long intervalId,
+ @Param("btsTestId") String btsTestId, @Param("sequenceId") Long sequenceId,
+ @Param("deviceTimeUtc") Date deviceTimeUtc, @Param("deviceTimeRaw") String deviceTimeRaw,
+ @Param("receivedAtUtc") Date receivedAtUtc, @Param("cycleNo") Integer cycleNo,
+ @Param("stepNo") Integer stepNo, @Param("stepType") String stepType, @Param("stepName") String stepName,
+ @Param("testTimeMs") Long testTimeMs, @Param("voltageV") java.math.BigDecimal voltageV,
+ @Param("currentA") java.math.BigDecimal currentA, @Param("capacityAh") java.math.BigDecimal capacityAh,
+ @Param("energyWh") java.math.BigDecimal energyWh, @Param("contentSha256") byte[] contentSha256);
+ int insertBtsMeasurement(@Param("sampleId") Long sampleId, @Param("metricCode") String metricCode,
+ @Param("metricValue") java.math.BigDecimal metricValue, @Param("unit") String unit,
+ @Param("sourceType") String sourceType);
+ 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,
+ @Param("metricCode") String metricCode, @Param("metricValue") java.math.BigDecimal metricValue,
+ @Param("unit") String unit, @Param("contentSha256") byte[] contentSha256);
+ Long selectCollectorSampleId(@Param("collectorId") Long collectorId, @Param("channelCode") String channelCode,
+ @Param("sequenceId") Long sequenceId, @Param("metricCode") String metricCode);
+ String selectCollectorSampleContentHash(@Param("collectorId") Long collectorId,
+ @Param("channelCode") String channelCode, @Param("sequenceId") Long sequenceId,
+ @Param("metricCode") String metricCode);
+ int insertDataRevisionAction(TTestDataRevisionAction action);
+ List<TTestDataRevisionAction> selectDataRevisionActions(TTestDataRevisionAction query);
+ TTestDataRevisionAction selectDataRevisionActionById(Long actionId);
+ int upsertDataOverride(TTestDataOverride override);
+ List<TTestDataOverride> selectDataOverrides(@Param("testId") Long testId,
+ @Param("dataType") String dataType);
+ int deleteBtsSamplesByIds(@Param("testId") Long testId, @Param("sampleIds") List<Long> sampleIds);
+ int deleteBtsMeasurementsBySampleIds(@Param("sampleIds") List<Long> sampleIds);
+ int deleteCollectorSamplesByIds(@Param("testId") Long testId, @Param("sampleIds") List<Long> sampleIds);
+ Long selectBtsSampleIdByDeviceChannelSequence(@Param("testId") Long testId,
+ @Param("deviceId") Long deviceId, @Param("channelNo") Long channelNo,
+ @Param("sequenceId") Long sequenceId);
+ List<Long> selectBtsSampleIdsByDeviceChannelStep(@Param("testId") Long testId,
+ @Param("deviceId") Long deviceId, @Param("channelNo") Long channelNo,
+ @Param("cycleNo") Integer cycleNo, @Param("stepNo") Integer stepNo);
+ List<Long> selectBtsSampleIdsByDeviceChannelCycle(@Param("testId") Long testId,
+ @Param("deviceId") Long deviceId, @Param("channelNo") Long channelNo,
+ @Param("cycleNo") Integer cycleNo);
+ int insertConsoleImportRecord(TTestConsoleImportRecord record);
+ int insertSampleConflict(@Param("testId") Long testId, @Param("channelId") Long channelId,
+ @Param("detail") String detail);
+ int countTestBatteryNo(@Param("testId") Long testId, @Param("batteryNo") String batteryNo);
+ /** 兼容已移除的历史实现源码;当前运行链路不再调用这些方法。 */
+ TTestChannelBinding selectChannelLeaseForUpdate(Long channelId);
+ int insertChannelLease(@Param("channelId") Long channelId, @Param("testId") Long testId,
+ @Param("bindingId") Long bindingId, @Param("acquiredBy") Long acquiredBy,
+ @Param("acquiredAtUtc") Date acquiredAtUtc);
+ int insertCollectorChannelLease(@Param("collectorId") Long collectorId, @Param("channelCode") String channelCode,
+ @Param("testId") Long testId, @Param("bindingId") Long bindingId,
+ @Param("acquiredBy") Long acquiredBy, @Param("acquiredAtUtc") Date acquiredAtUtc);
+ int deleteChannelLeasesByTestId(Long testId);
+ int deleteCollectorChannelLeasesByTestId(Long testId);
+ List<TTestCollectorSource> selectReceivingCollectorSources();
+ TTestCollectorExceptionInterval selectOpenCollectorException(@Param("testId") Long testId,
+ @Param("batteryRelationId") Long batteryRelationId, @Param("collectorId") Long collectorId,
+ @Param("channelCode") String channelCode);
+ int insertCollectorExceptionInterval(TTestCollectorExceptionInterval interval);
+ int closeCollectorExceptionInterval(@Param("intervalId") Long intervalId,
+ @Param("recoveredAtUtc") Date recoveredAtUtc, @Param("missingToUtc") Date missingToUtc);
+ List<TTestCollectorExceptionInterval> selectCollectorExceptionIntervals(Long testId);
+ List<TTest> selectTestsForNaturalEnd();
+ List<TTest> selectTestsForBackfill();
+ TTestBackfillCursor selectBackfillCursorForUpdate(@Param("testId") Long testId,
+ @Param("bindingId") Long bindingId, @Param("sourceType") String sourceType,
+ @Param("sourceId") Long sourceId, @Param("sourceChannelCode") String sourceChannelCode);
+ int insertBackfillCursor(TTestBackfillCursor cursor);
+ int updateBackfillCursor(TTestBackfillCursor cursor);
+ int updateTestBackfillStarted(@Param("testId") Long testId, @Param("updatedAtUtc") Date updatedAtUtc);
+ 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);
+ 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);
+ int closeOpenReceptionIntervals(@Param("testId") Long testId, @Param("endBoundaryAtUtc") Date endBoundaryAtUtc,
+ @Param("boundaryNote") String boundaryNote);
+ List<TTestReceptionInterval> selectTestReceptionIntervals(Long testId);
+
+ /** ����兼容旧源码的声明;Ticket28 运行链路不再调用。 */
}
--
Gitblit v1.7.1