From aaa6d179e44fe386024b90bd4fe8ae4c2e9c0088 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 30 Dec 2021 17:39:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BC=98=E5=8C=96=20?= =?UTF-8?q?=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectExtractServiceImpl.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 5ee0d941bd..6db4bc6c4c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -38,6 +38,7 @@ import com.epmet.util.DimIdGenerator; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -134,21 +135,17 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { //提取议题ID List issueIds = projectList.stream().filter(item -> ProjectConstant.ISSUE.equals(item.getOrigin())).map(ProjectDTO::getOriginId).collect(Collectors.toList()); - if(CollectionUtils.isNotEmpty(issueIds)) { - //批次数量 - int batchCount = 200; + if (CollectionUtils.isNotEmpty(issueIds)) { + //分批次获取 //获取议题信息 - - for (int i = 0; i < issueIds.size(); i += batchCount) { - int lastIndex = Math.min(i + batchCount, issueIds.size()); - issueList.addAll(issueService.getIssueInfoByIds(issueIds.subList(i, lastIndex))); - } + List> partition = ListUtils.partition(issueIds, NumConstant.FIFTY); + partition.forEach(part -> issueList.addAll(issueService.getIssueInfoByIds(part))); //提取话题ID List topicIds = issueList.stream().map(IssueDTO::getSourceId).collect(Collectors.toList()); - //获取话题信息 - for (int i = 0; i < topicIds.size(); i += batchCount) { - int lastIndex = Math.min(i + batchCount, topicIds.size()); - topicList.addAll(topicService.getTopicByIds(topicIds.subList(i, lastIndex))); + if (CollectionUtils.isNotEmpty(topicIds)) { + //获取话题信息 + List> topicPart = ListUtils.partition(topicIds, NumConstant.FIFTY); + topicPart.forEach(part -> topicList.addAll(topicService.getTopicByIds(part))); } } //获取网格认证党员