优化衡器宝数据监听

This commit is contained in:
2024-04-20 19:09:21 +08:00
parent 495a360c52
commit c607d1672d

View File

@@ -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<String, WeightDeviceDataEntity> flowNumberMap =
var seqNumbers =
StreamSupport.stream(nodes.spliterator(), false)
.map(x -> x.get("序号").asInt())
.collect(Collectors.toList());
Map<String, WeightDeviceDataEntity> seqNumberMap =
weightDeviceDataService
.findAll(
(Specification<WeightDeviceDataEntity>)
@@ -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());