| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -45,6 +45,7 @@ import com.epmet.feign.ResiGroupFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.redis.IssueVoteDetailRedis; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.redis.IssueVoteStatisticalRedis; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.resi.group.dto.topic.form.MyPartIssueFormDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.resi.group.dto.topic.form.TopicIdListFormDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.resi.group.dto.topic.result.MyPartIssueResultDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.service.IssueVoteDetailService; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -549,22 +550,35 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Override | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public List<MyPartIssuesResultDTO> myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<MyPartIssuesResultDTO> myPartIssuesResult = issueVoteDetailDao.myPartIssues(myPartIssuesFormDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<MyPartIssuesResultDTO> myPartIssuesResult = new ArrayList<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //我创建的话题
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        TopicIdListFormDTO topicIdListFormDTO = new TopicIdListFormDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        topicIdListFormDTO.setUserId(myPartIssuesFormDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Result<List<String>> myCreateIssueResult = resiGroupOpenFeignClient.selectMyCreateTopic(topicIdListFormDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (!myCreateIssueResult.success()){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException("查询我创建的话题失败......"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //我参与的议题
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        myPartIssuesResult = issueVoteDetailDao.myPartIssues(myPartIssuesFormDTO.getUserId(), myCreateIssueResult.getData()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //我参与的话题
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        MyPartIssueFormDTO formDTO = new MyPartIssueFormDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        formDTO.setUserId(myPartIssuesFormDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Result<MyPartIssueResultDTO> myPartIssueResult = resiGroupOpenFeignClient.selectMyPartTopic(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (!myPartIssueResult.success()){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException("查询我评论过的话题失败......"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //我参与的话题转了议题的
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (!CollectionUtils.isEmpty(myPartIssueResult.getData().getTopicIds())){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<MyPartIssuesResultDTO> myPartIssuesResultDTOS = issueVoteDetailDao.myPartIssuesByTopicId(myPartIssueResult.getData().getTopicIds()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            myPartIssuesResult.addAll(myPartIssuesResultDTOS); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<MyPartIssuesResultDTO> myPartIssues = issueVoteDetailDao.myPartIssuesByTopicId(myPartIssueResult.getData().getTopicIds()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            myPartIssuesResult.addAll(myPartIssues); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (CollectionUtils.isEmpty(myPartIssuesResult)){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return new ArrayList<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Set<MyPartIssuesResultDTO> set = new HashSet<>(myPartIssuesResult); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        myPartIssuesResult = new ArrayList<>(set); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<MyPartIssuesResultDTO> collect = myPartIssuesResult.stream().sorted(Comparator.comparing(MyPartIssuesResultDTO::getShiftIssueTime).reversed()).distinct().collect(Collectors.toList()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<String> orgIds = collect.stream().map(m -> m.getGridId()).collect(Collectors.toList()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<String> orgIds = collect.stream().map(MyPartIssuesResultDTO::getGridId).collect(Collectors.toList()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Result<List<AllGridsByUserIdResultDTO>> listResult = govOrgOpenFeignClient.getGridListByGridIds(orgIds); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (!listResult.success()){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException("查询议题来源网格名称失败......"); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |