From 22f9526410dd3e7294e2b9ad7981d2cf7875fb5c Mon Sep 17 00:00:00 2001 From: htjcAdmin Date: Fri, 19 Dec 2025 15:19:41 +0800 Subject: [PATCH] =?UTF-8?q?/*=E5=88=86=E5=90=88=E5=BC=80=E5=85=B3=E7=AE=97?= =?UTF-8?q?=E6=B3=95=E9=80=82=E9=85=8D*/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AnalyseResponseServiceImpl.java | 111 +++++++++++++++++- 1 file changed, 110 insertions(+), 1 deletion(-) diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseResponseServiceImpl.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseResponseServiceImpl.java index 663e0f6..7317902 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseResponseServiceImpl.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseResponseServiceImpl.java @@ -789,7 +789,19 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { List resultAnalysisList = new ArrayList<>(); StringJoiner valueJoiner = new StringJoiner(StringUtils.COMMA); StringJoiner validJoiner = new StringJoiner(StringUtils.COMMA); - for (AnalyseResPoint analyseResPoint : resItem.getResults()) { + + List analyseResPointList = resItem.getResults(); + if(!resItem.getResults().isEmpty()) { + AnalyseResPoint analyseResPoint = resItem.getResults().get(0); + String algType = analyseResPoint.getType(); + log.info("RESULT_MERGE algType: {}, analyseResPoint: {}", algType, analyseResPoint); + if("switch".equals(algType)) { + analyseResPointList = mergeAnalyseResItem(analyseResPointList); + log.info("RESULT_MERGE algType: {}, analyseResPointList: {}", algType, analyseResPointList); + } + } + + for (AnalyseResPoint analyseResPoint : analyseResPointList) { ResultAnalysis resultAnalysis = combineAnalyse(analyseResult, String.valueOf(patrolResult.getLineId()), resItem.getObjectId(), @@ -1008,4 +1020,101 @@ public class AnalyseResponseServiceImpl implements IAnalyseResponseService { return algValue; } + + public static final String mergeString = "{\n" + + "\t\"requestId\": \"b00f2fbd1fcc49c6a47ed2b3a77e5028\",\n" + + "\t\"resultsList\": [{\n" + + "\t\t\"objectId\": \"2079991\",\n" + + "\t\t\"results\": [{\n" + + "\t\t\t\"type\": \"switch\",\n" + + "\t\t\t\"value\": \"和\",\n" + + "\t\t\t\"code\": \"2000\",\n" + + "\t\t\t\"resImageUrl\": \"2/2025/12/12/1531/CCD/3038_R100-001_20251212140756.jpg\",\n" + + "\t\t\t\"pos\": [],\n" + + "\t\t\t\"conf\": 0.99,\n" + + "\t\t\t\"desc\": \"\",\n" + + "\t\t\t\"imageNormalUrlPath\": \"1/2025/08/29/1584/CCD/3038_R100-001_20250829123953.jpg\"\n" + + "\t\t}, {\n" + + "\t\t\t\"type\": \"switch\",\n" + + "\t\t\t\"value\": \"和\",\n" + + "\t\t\t\"code\": \"2000\",\n" + + "\t\t\t\"resImageUrl\": \"2/2025/12/12/1531/CCD/3038_R100-001_20251212140756.jpg\",\n" + + "\t\t\t\"pos\": [],\n" + + "\t\t\t\"conf\": 0.99,\n" + + "\t\t\t\"desc\": \"\",\n" + + "\t\t\t\"imageNormalUrlPath\": \"1/2025/08/29/1584/CCD/3038_R100-001_20250829123953.jpg\"\n" + + "\t\t}, {\n" + + "\t\t\t\"type\": \"switch\",\n" + + "\t\t\t\"value\": \"分\",\n" + + "\t\t\t\"code\": \"2000\",\n" + + "\t\t\t\"resImageUrl\": \"2/2025/12/12/1531/CCD/3038_R100-001_20251212140756.jpg\",\n" + + "\t\t\t\"pos\": [],\n" + + "\t\t\t\"conf\": 0.99,\n" + + "\t\t\t\"desc\": \"\",\n" + + "\t\t\t\"imageNormalUrlPath\": \"1/2025/08/29/1584/CCD/3038_R100-001_20250829123953.jpg\"\n" + + "\t\t}, {\n" + + "\t\t\t\"type\": \"switch\",\n" + + "\t\t\t\"value\": \"和\",\n" + + "\t\t\t\"code\": \"2000\",\n" + + "\t\t\t\"resImageUrl\": \"2/2025/12/12/1531/CCD/3038_R100-001_20251212140756.jpg\",\n" + + "\t\t\t\"pos\": [],\n" + + "\t\t\t\"conf\": 0.99,\n" + + "\t\t\t\"desc\": \"\",\n" + + "\t\t\t\"imageNormalUrlPath\": \"1/2025/08/29/1584/CCD/3038_R100-001_20250829123953.jpg\"\n" + + "\t\t}, {\n" + + "\t\t\t\"type\": \"switch\",\n" + + "\t\t\t\"value\": \"分\",\n" + + "\t\t\t\"code\": \"2000\",\n" + + "\t\t\t\"resImageUrl\": \"2/2025/12/12/1531/CCD/3038_R100-001_20251212140756.jpg\",\n" + + "\t\t\t\"pos\": [],\n" + + "\t\t\t\"conf\": 0.99,\n" + + "\t\t\t\"desc\": \"\",\n" + + "\t\t\t\"imageNormalUrlPath\": \"1/2025/08/29/1584/CCD/3038_R100-001_20250829123953.jpg\"\n" + + "\t\t}, {\n" + + "\t\t\t\"type\": \"switch\",\n" + + "\t\t\t\"value\": \"分\",\n" + + "\t\t\t\"code\": \"2000\",\n" + + "\t\t\t\"resImageUrl\": \"2/2025/12/12/1531/CCD/3038_R100-001_20251212140756.jpg\",\n" + + "\t\t\t\"pos\": [],\n" + + "\t\t\t\"conf\": 0.99,\n" + + "\t\t\t\"desc\": \"\",\n" + + "\t\t\t\"imageNormalUrlPath\": \"1/2025/08/29/1584/CCD/3038_R100-001_20250829123953.jpg\"\n" + + "\t\t}],\n" + + "\t\t\"algFactory\": \"yd\"\n" + + "\t}]\n" + + "}"; + + public static List mergeAnalyseResItem(List analyseResPointList) { + String mergedValue = analyseResPointList.stream() + .map(AnalyseResPoint::getValue) + .filter(Objects::nonNull) + .collect(Collectors.joining(StringUtils.COMMA)); + AnalyseResPoint first = analyseResPointList.get(0); + + AnalyseResPoint mergedPoint = new AnalyseResPoint(); + mergedPoint.setType(first.getType()); + mergedPoint.setCode(first.getCode()); + mergedPoint.setResImageUrl(first.getResImageUrl()); + mergedPoint.setImageNormalUrlPath(first.getImageNormalUrlPath()); + mergedPoint.setConf(first.getConf()); + mergedPoint.setDesc(first.getDesc()); + mergedPoint.setPos(first.getPos()); + mergedPoint.setValue(mergedValue); + + return Collections.singletonList(mergedPoint); + } + public static void main(String[] args) { + ObjectMapper mapper = new ObjectMapper(); + AnalyseResult analyseResult; + try { + analyseResult = mapper.readValue(mergeString, new TypeReference() { + }); + log.info("mergeAnalyseResItem analyseResult: {}", analyseResult); + List result = mergeAnalyseResItem(analyseResult.getResultsList().get(0).getResults()); + log.info("mergeAnalyseResItem result: {}", result); + } catch (Exception e) { + log.error("mergeAnalyseResItem exception", e); + } + } + }