From e837e03db408b42791e9df7e251b062a5707a9e3 Mon Sep 17 00:00:00 2001 From: yinhuaiwei Date: Fri, 30 Jan 2026 17:32:06 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=94=AF=E6=8C=81resultList?= =?UTF-8?q?=E5=90=8C=E4=B8=80=E7=AE=97=E6=B3=95=E5=A4=9A=E4=B8=AA=E5=88=86?= =?UTF-8?q?=E6=9E=90=E7=BB=93=E6=9E=9C=E5=90=88=E5=B9=B6=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=EF=BC=88=E4=BE=8B=E7=BB=8D=E5=85=B4=E7=AB=99switch=E7=AE=97?= =?UTF-8?q?=E6=B3=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/domain/AnalyseResult.java | 45 +++++++++---------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AnalyseResult.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AnalyseResult.java index b5c1d30..5fe91c6 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AnalyseResult.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AnalyseResult.java @@ -1,19 +1,20 @@ package com.inspect.analysis.domain; - import com.inspect.partrolresult.domain.AnalyseReqItem; import com.inspect.partrolresult.domain.AnalyseRequest; import lombok.Getter; import lombok.Setter; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Optional; +import java.util.*; +import java.util.stream.Collectors; @Getter @Setter +@Slf4j +@ToString public class AnalyseResult implements Serializable { private String requestId; private List resultList; @@ -30,7 +31,6 @@ public class AnalyseResult implements Serializable { if (resultsList != null) { this.resultList = resultsList; } - } public void reloadReq(AnalyseRequest analyseRequest) { @@ -39,19 +39,27 @@ public class AnalyseResult implements Serializable { List resultList = new ArrayList<>(); this.setResultsList(resultList); + // 根据请求时的点位循环 for (int i = 0; i < analyseRequest.getObjectList().size(); ++i) { AnalyseResItem resItem = analyseResItem.clone(); resultList.add(resItem); AnalyseReqItem analyseReqItem = analyseRequest.getObjectList().get(i); List results = new ArrayList<>(); + // 根据请求时的点位算法类型循环 for (String type : analyseReqItem.getTypeList()) { AnalyseResPoint resPoint = analyseResItem.getResults().get(0); - Optional optional = analyseResItem.getResults().stream().filter(result -> type.equals(Optional.ofNullable(result.getType()).orElse(""))).findFirst(); - if (optional.isPresent()) { - resPoint = optional.get(); - } - if ("-9999".equals(resPoint.getValue())) { - resPoint.setValue(""); + List resPointList = analyseResItem.getResults().stream().filter(res -> Arrays.asList(res.getType().split(",")).contains(type)).collect(Collectors.toList()); + if (!resPointList.isEmpty()) { + resPoint = resPointList.get(0); + // 合并同一算法的value + AnalyseResPoint finalResPoint = resPoint; + String value = resPointList.stream().map(res -> + "-9999".equals(finalResPoint.getValue()) ? "" : res.getValue() + ).collect(Collectors.joining(",")); + resPoint.setValue(value); + // 合并同一算法的pos + List pos = resPointList.stream().map(res -> res.getPos()).filter(Objects::nonNull).flatMap(Collection::stream).collect(Collectors.toList()); + resPoint.setPos(pos); } AnalyseResPoint clone = resPoint.clone(); clone.setType(type); @@ -97,17 +105,4 @@ public class AnalyseResult implements Serializable { public int hashCode() { return Objects.hash(requestId, resultList, resultsList, taskPatrolId, filter, result); } - - @Override - public String toString() { - return "AnalyseResult{" + - "requestId='" + requestId + '\'' + - ", resultList=" + resultList + - ", resultsList=" + resultsList + - ", taskPatrolId='" + taskPatrolId + '\'' + - ", isCompensate='" + isCompensate + '\'' + - ", filter='" + filter + '\'' + - ", result='" + result + '\'' + - '}'; - } }