From c607d1672df696075370cf73237c8745a630318e Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Sat, 20 Apr 2024 19:09:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A1=A1=E5=99=A8=E5=AE=9D?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9B=91=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/WeightListener.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/cn/lihongjie/coal/dataCollector/listener/WeightListener.java b/src/main/java/cn/lihongjie/coal/dataCollector/listener/WeightListener.java index 655ee6df..d9c84bd9 100644 --- a/src/main/java/cn/lihongjie/coal/dataCollector/listener/WeightListener.java +++ b/src/main/java/cn/lihongjie/coal/dataCollector/listener/WeightListener.java @@ -138,11 +138,16 @@ public class WeightListener { ArrayNode nodes = (ArrayNode) jsonNode; var flowNumbers = StreamSupport.stream(nodes.spliterator(), false) - .map(x -> x.get("流水号").asText()) + .map(x -> x.get("序号") + ":" + x.get("流水号").asText() + ":" + x.get("更新时间").asText()) .toList(); logEntity.setContent(StringUtils.join(flowNumbers, ",")); - Map flowNumberMap = + var seqNumbers = + StreamSupport.stream(nodes.spliterator(), false) + .map(x -> x.get("序号").asInt()) + .collect(Collectors.toList()); + + Map seqNumberMap = weightDeviceDataService .findAll( (Specification) @@ -152,7 +157,7 @@ public class WeightListener { root.get("device") .get("id"), device.getId()), - root.get("flowNumber").in(flowNumbers))) + root.get("sequenceNumber").in(seqNumbers))) .stream() .collect( Collectors.toMap( @@ -162,9 +167,11 @@ public class WeightListener { x -> { WeightDeviceDataEntity deviceData = new WeightDeviceDataEntity(); var flowNumber = x.get("流水号").asText(); - if (flowNumberMap.containsKey(flowNumber)) { - log.info("data already exists: {} {}", flowNumber, device.getId()); - deviceData = flowNumberMap.get(flowNumber); + var seqNumber = x.get("序号").asText(); + log.info("data from weight20: {} {} {} {} ", seqNumber, flowNumber, x.get("更新时间").asText() ,device.getId()); + if (seqNumberMap.containsKey(seqNumber)) { + log.info("data already exists: {} {} {}", seqNumber, flowNumber, device.getId()); + deviceData = seqNumberMap.get(seqNumber); } // log.info(x.toPrettyString());