From a04222c873e5e55f48c8d33b5c0bc46fa524ac8d Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期四, 08 十月 2026 13:20:39 +0800
Subject: [PATCH] 界面显示号改为来源自报,并给出无歧义的来源定位
---
battery-business/src/test/java/com/battery/business/service/impl/FakeIngestLanding.java | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/battery-business/src/test/java/com/battery/business/service/impl/FakeIngestLanding.java b/battery-business/src/test/java/com/battery/business/service/impl/FakeIngestLanding.java
index 8e8923e..1d175f7 100644
--- a/battery-business/src/test/java/com/battery/business/service/impl/FakeIngestLanding.java
+++ b/battery-business/src/test/java/com/battery/business/service/impl/FakeIngestLanding.java
@@ -32,6 +32,22 @@
return 1;
}
+ /** 拓扑是声明:撞键即刷新声明内容,不追加新行(与生产 SQL 的 upsert 语义一致)。 */
+ @Override
+ public int upsertTopology(TDeviceIngestRecord record)
+ {
+ int index = -1;
+ for (int i = 0; i < rows.size(); i++)
+ if (same(rows.get(i), record)) index = i;
+ if (index < 0)
+ {
+ rows.add(record);
+ return 1;
+ }
+ rows.set(index, record);
+ return 1;
+ }
+
@Override
public String selectIngestRecordHashByKey(String adapterCode, String payloadKind, String recordKey)
{
@@ -59,6 +75,7 @@
TDeviceIngestChannel channel = new TDeviceIngestChannel();
channel.setDevtype(row.getDevtype()); channel.setDevid(row.getDevid());
channel.setSubdevid(row.getSubdevid()); channel.setChlid(row.getChlid());
+ channel.setVendorChannelNo(row.getVendorChannelNo());
channel.setLastDataAt(rows.stream().filter(sample -> isSample(sample, adapterCode, row))
.map(TDeviceIngestRecord::getDeviceTimeUtc).filter(java.util.Objects::nonNull)
.max(Date::compareTo).orElse(null));
--
Gitblit v1.7.1