From 1eafc84ff7546fcd51d1f2884c77400b75529e3b Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 02 九月 2026 13:57:57 +0800
Subject: [PATCH] 对齐测试控制台当前有效数据
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestConsoleDataServiceImpl.java | 41 ++++-------------------------------------
1 files changed, 4 insertions(+), 37 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestConsoleDataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestConsoleDataServiceImpl.java
index 4655e0d..d82d7e4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestConsoleDataServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TestConsoleDataServiceImpl.java
@@ -4,7 +4,6 @@
import java.util.List;
import java.util.Set;
import java.util.Map;
-import java.util.ArrayList;
import java.util.HashSet;
import com.alibaba.fastjson2.JSON;
import org.springframework.beans.factory.annotation.Autowired;
@@ -114,42 +113,8 @@
mapper.upsertDataOverride(item);
}
}
- if ("DELETE".equals(action.getOperationType()) && overrides != null)
- {
- List<Long> resolvedIds = new ArrayList<>();
- for (TTestDataOverride item : overrides)
- {
- Long[] identity = parseDeleteIdentity(item.getStableIdentity(), action.getDataType());
- if (identity == null) throw new ServiceException("删除数据稳定身份无效");
- switch (action.getDataType())
- {
- case "REALTIME" -> {
- Long sampleId = mapper.selectBtsSampleIdByDeviceChannelSequence(action.getTestId(),
- identity[0], identity[1], identity[2]);
- if (sampleId != null) resolvedIds.add(sampleId);
- }
- case "STEP" -> resolvedIds.addAll(mapper.selectBtsSampleIdsByDeviceChannelStep(action.getTestId(),
- identity[0], identity[1], identity[2].intValue(), identity[3].intValue()));
- case "CYCLE" -> resolvedIds.addAll(mapper.selectBtsSampleIdsByDeviceChannelCycle(action.getTestId(),
- identity[0], identity[1], identity[2].intValue()));
- default -> throw new ServiceException("控制台数据类型无效");
- }
- }
- if (!resolvedIds.isEmpty())
- {
- resolvedIds = new ArrayList<>(new HashSet<>(resolvedIds));
- // 工步和循环是采样聚合视图,物理删除需在同一事务内清理对应底层采样。
- mapper.deleteBtsMeasurementsBySampleIds(resolvedIds);
- mapper.deleteBtsSamplesByIds(action.getTestId(), resolvedIds);
- }
- }
- if (btsSampleIds != null && !btsSampleIds.isEmpty())
- {
- // 采样明细受外键保护,必须在主采样物理删除前清理。
- mapper.deleteBtsMeasurementsBySampleIds(btsSampleIds);
- mapper.deleteBtsSamplesByIds(action.getTestId(), btsSampleIds);
- }
- if (collectorSampleIds != null && !collectorSampleIds.isEmpty()) mapper.deleteCollectorSamplesByIds(action.getTestId(), collectorSampleIds);
+ // 删除仅写入 deleted 覆盖,保留设备原始采样和采集器事实供追溯。
+ // btsSampleIds/collectorSampleIds 保留在接口中兼容旧调用方,但不再执行物理删除。
return action.getActionId();
}
@@ -196,6 +161,8 @@
private void validateOverride(TTestDataOverride item, String operation, String dataType)
{
+ if ("DELETE".equals(operation) && parseDeleteIdentity(item.getStableIdentity(), dataType) == null)
+ throw new ServiceException("删除数据稳定身份无效");
if (!"EDIT".equals(operation) || item.getFieldValues() == null || item.getFieldValues().isBlank()) return;
try
{
--
Gitblit v1.7.1