|
|
@ -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; |
|
|
@ -127,17 +128,26 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { |
|
|
|
//获取项目信息
|
|
|
|
List<ProjectDTO> projectList = projectService.getProjectInfo(customerId, dateString, projectId); |
|
|
|
factOriginProjectMainDailyService.deleteByDate(customerId, dateString,projectId); |
|
|
|
List<IssueDTO> issueList = new ArrayList<>(); |
|
|
|
List<ResiTopicDTO> topicList = new ArrayList<>(); |
|
|
|
if (!CollectionUtils.isEmpty(projectList)) { |
|
|
|
Map<String, ResiEventDTO> projectEventMap = projectService.getEventList(customerId, projectId); |
|
|
|
//提取议题ID
|
|
|
|
List<String> issueIds = |
|
|
|
projectList.stream().filter(item -> ProjectConstant.ISSUE.equals(item.getOrigin())).map(ProjectDTO::getOriginId).collect(Collectors.toList()); |
|
|
|
//获取议题信息
|
|
|
|
List<IssueDTO> issueList = issueService.getIssueInfoByIds(issueIds); |
|
|
|
//提取话题ID
|
|
|
|
List<String> topicIds = issueList.stream().map(IssueDTO::getSourceId).collect(Collectors.toList()); |
|
|
|
//获取话题信息
|
|
|
|
List<ResiTopicDTO> topicList = topicService.getTopicByIds(topicIds); |
|
|
|
if (CollectionUtils.isNotEmpty(issueIds)) { |
|
|
|
//分批次获取
|
|
|
|
//获取议题信息
|
|
|
|
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()); |
|
|
|
if (CollectionUtils.isNotEmpty(topicIds)) { |
|
|
|
//获取话题信息
|
|
|
|
List<List<String>> topicPart = ListUtils.partition(topicIds, NumConstant.FIFTY); |
|
|
|
topicPart.forEach(part -> topicList.addAll(topicService.getTopicByIds(part))); |
|
|
|
} |
|
|
|
} |
|
|
|
//获取网格认证党员
|
|
|
|
List<PartyMemberDTO> partyMemberList = partyMemberService.getPartyMemberByCustomer(customerId); |
|
|
|
//生成DTO
|
|
|
|