Browse Source

查询优化 分页

dev_shibei_match
jianjun 4 years ago
parent
commit
aaa6d179e4
  1. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java

21
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<String> 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<List<String>> partition = ListUtils.partition(issueIds, NumConstant.FIFTY);
partition.forEach(part -> issueList.addAll(issueService.getIssueInfoByIds(part)));
//提取话题ID
List<String> 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<List<String>> topicPart = ListUtils.partition(topicIds, NumConstant.FIFTY);
topicPart.forEach(part -> topicList.addAll(topicService.getTopicByIds(part)));
}
}
//获取网格认证党员

Loading…
Cancel
Save