From 88e0d71718c65aab90dee1a133b36c39a10d46d8 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Mon, 11 May 2026 08:46:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A3=85=E7=BD=AE=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E6=97=B6=E9=97=B4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/njcn/dataProcess/dto/DataVDTO.java | 1 + .../service/impl/LnDataDealServiceImpl.java | 17 ++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/DataVDTO.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/DataVDTO.java index 6e9ea81..bf36dc3 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/DataVDTO.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/DataVDTO.java @@ -23,6 +23,7 @@ public class DataVDTO { @JsonDeserialize(using = LocalDateTimeDeserializer.class) @JsonSerialize(using = LocalDateTimeSerializer.class) private LocalDateTime timeid; + private String devId; private String lineid; private String phasicType; private Double rms; diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/LnDataDealServiceImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/LnDataDealServiceImpl.java index b9f54a7..572771c 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/LnDataDealServiceImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/LnDataDealServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.util.CollectionUtils; import java.time.LocalDateTime; import java.util.Comparator; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -84,16 +85,18 @@ public class LnDataDealServiceImpl implements LnDataDealService { //更新mysqldevice表最新数据时间 if(!CollectionUtils.isEmpty(lnDataDTO.getDataVList())){ - DataVDTO dataVDTO =lnDataDTO.getDataVList().stream().max(Comparator.comparing(DataVDTO::getTimeid)).get(); + List lineIdList = lnDataDTO.getDataVList().stream().map(DataVDTO::getLineid).distinct().collect(Collectors.toList()); List data = lineFeignClient.getAllLine(lineIdList).getData(); - //获取所有设备id并去重 - List devIds = data.stream().map(temp -> { - return temp.getPids().split(",")[4]; - }).distinct().collect(Collectors.toList()); - - devIds.forEach(temp->{ + Map map = data.stream().collect(Collectors.toMap(LineDeviceStateVO::getId, temp -> temp.getPids().split(",")[4])); + lnDataDTO.getDataVList().forEach(temp->{ + temp.setDevId(map.get(temp.getLineid())); + }); + Map> collect = lnDataDTO.getDataVList().stream().collect(Collectors.groupingBy(DataVDTO::getDevId)); + collect.forEach((temp,dataVDTOList)->{ PqsCommunicateDto pqsCommunicateDto = new PqsCommunicateDto(); + DataVDTO dataVDTO =dataVDTOList.stream().max(Comparator.comparing(DataVDTO::getTimeid)).get(); + pqsCommunicateDto.setTime(LocalDateTimeUtil.format(dataVDTO.getTimeid(), DatePattern.NORM_DATETIME_PATTERN)); pqsCommunicateDto.setDevId(temp); pqsCommunicateDto.setType(1);