|
@ -14,13 +14,20 @@ import com.epmet.dto.TopicInfoDTO; |
|
|
import com.epmet.dto.form.*; |
|
|
import com.epmet.dto.form.*; |
|
|
import com.epmet.dto.result.*; |
|
|
import com.epmet.dto.result.*; |
|
|
import com.epmet.feign.*; |
|
|
import com.epmet.feign.*; |
|
|
|
|
|
import com.epmet.resi.group.dto.topic.form.TopicDetailBatchFormDTO; |
|
|
|
|
|
import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; |
|
|
|
|
|
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; |
|
|
import com.epmet.service.IssueService; |
|
|
import com.epmet.service.IssueService; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
|
import org.slf4j.Logger; |
|
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.HashMap; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@ -48,6 +55,10 @@ public class IssueServiceImpl implements IssueService { |
|
|
@Autowired |
|
|
@Autowired |
|
|
private EpmetUserOpenFeignClient epmetUserOpenFeignClient; |
|
|
private EpmetUserOpenFeignClient epmetUserOpenFeignClient; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private ResiGroupOpenFeignClient resiGroupOpenFeignClient; |
|
|
|
|
|
|
|
|
|
|
|
private Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class); |
|
|
/** |
|
|
/** |
|
|
* @param issueDetail |
|
|
* @param issueDetail |
|
|
* @Description 议题详情 |
|
|
* @Description 议题详情 |
|
@ -340,6 +351,24 @@ public class IssueServiceImpl implements IssueService { |
|
|
if (null == resultList || resultList.size() == NumConstant.ZERO) { |
|
|
if (null == resultList || resultList.size() == NumConstant.ZERO) { |
|
|
return new ArrayList<>(); |
|
|
return new ArrayList<>(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<String> topicIds = resultList.stream().map(i -> i.getSourceId()).collect(Collectors.toList()); |
|
|
|
|
|
TopicDetailBatchFormDTO form = new TopicDetailBatchFormDTO(); |
|
|
|
|
|
form.setTopicIdList(topicIds); |
|
|
|
|
|
Result<List<ResiTopicDetailResultDTO>> topicDetailsResult = resiGroupOpenFeignClient.listTopicDetailsByIds(form); |
|
|
|
|
|
if (!topicDetailsResult.success()) { |
|
|
|
|
|
logger.error("调用resi-group批量查询详情失败"); |
|
|
|
|
|
} else { |
|
|
|
|
|
List<ResiTopicDetailResultDTO> topicDetails = topicDetailsResult.getData(); |
|
|
|
|
|
HashMap<String, ResiTopicDetailResultDTO> rtm = convertTopicDetailList2Map(topicDetails); |
|
|
|
|
|
resultList.stream().forEach(vi -> { |
|
|
|
|
|
ResiTopicDetailResultDTO rr = rtm.get(vi.getSourceId()); |
|
|
|
|
|
vi.setTopicImgs(rr == null ? null : rr.getTopicImgs()); |
|
|
|
|
|
vi.setTopicVoices(rr == null ? null : rr.getTopicImgs()); |
|
|
|
|
|
vi.setTopicContent(rr.getTopicContent()); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return resultList; |
|
|
return resultList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -372,4 +401,71 @@ public class IssueServiceImpl implements IssueService { |
|
|
public List<ProcessListResultDTO> processList(IssueIdFormDTO issueId) { |
|
|
public List<ProcessListResultDTO> processList(IssueIdFormDTO issueId) { |
|
|
return govIssueFeignClient.processList(issueId).getData(); |
|
|
return govIssueFeignClient.processList(issueId).getData(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public List<VotingIssueListResultDTO> listVotingIssues(CommonIssueListFormDTO issueListFormDTO) { |
|
|
|
|
|
Result<List<VotingIssueListResultDTO>> votingIssueListResult = govIssueFeignClient.votingList(issueListFormDTO); |
|
|
|
|
|
if (!votingIssueListResult.success()) { |
|
|
|
|
|
throw new RenException(String.format("调用gov-issue查询表决中列表失败")); |
|
|
|
|
|
} |
|
|
|
|
|
List<VotingIssueListResultDTO> votingIssueList = votingIssueListResult.getData(); |
|
|
|
|
|
if (votingIssueList != null && !CollectionUtils.isEmpty(votingIssueList)) { |
|
|
|
|
|
List<String> topicIds = votingIssueList.stream().map(i -> i.getSourceId()).collect(Collectors.toList()); |
|
|
|
|
|
TopicDetailBatchFormDTO form = new TopicDetailBatchFormDTO(); |
|
|
|
|
|
form.setTopicIdList(topicIds); |
|
|
|
|
|
Result<List<ResiTopicDetailResultDTO>> topicDetailsResult = resiGroupOpenFeignClient.listTopicDetailsByIds(form); |
|
|
|
|
|
if (!topicDetailsResult.success()) { |
|
|
|
|
|
logger.error("调用resi-group批量查询详情失败"); |
|
|
|
|
|
} else { |
|
|
|
|
|
List<ResiTopicDetailResultDTO> topicDetails = topicDetailsResult.getData(); |
|
|
|
|
|
HashMap<String, ResiTopicDetailResultDTO> rtm = convertTopicDetailList2Map(topicDetails); |
|
|
|
|
|
votingIssueList.stream().forEach(vi -> { |
|
|
|
|
|
ResiTopicDetailResultDTO rr = rtm.get(vi.getSourceId()); |
|
|
|
|
|
vi.setTopicImgs(rr == null ? null : rr.getTopicImgs()); |
|
|
|
|
|
vi.setTopicVoices(rr == null ? null : rr.getTopicImgs()); |
|
|
|
|
|
vi.setTopicContent(rr.getTopicContent()); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return votingIssueList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @Description 将话题详情列表转化为map |
|
|
|
|
|
* @return |
|
|
|
|
|
* @author wxz |
|
|
|
|
|
* @date 2021.05.18 16:36 |
|
|
|
|
|
*/ |
|
|
|
|
|
private HashMap<String, ResiTopicDetailResultDTO> convertTopicDetailList2Map(List<ResiTopicDetailResultDTO> topicDetails) { |
|
|
|
|
|
HashMap<String, ResiTopicDetailResultDTO> hm = new HashMap<>(); |
|
|
|
|
|
topicDetails.stream().forEach(t -> hm.put(t.getTopicId(), t)); |
|
|
|
|
|
return hm; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public List<ClosedIssueListResultDTO> getClosedList(CommonIssueListFormDTO issueListFormDTO) { |
|
|
|
|
|
Result<List<ClosedIssueListResultDTO>> result = govIssueFeignClient.closedList(issueListFormDTO); |
|
|
|
|
|
List<ClosedIssueListResultDTO> issueList = result.getData(); |
|
|
|
|
|
|
|
|
|
|
|
if (issueList != null && !CollectionUtils.isEmpty(issueList)) { |
|
|
|
|
|
List<String> topicIds = issueList.stream().map(i -> i.getSourceId()).collect(Collectors.toList()); |
|
|
|
|
|
TopicDetailBatchFormDTO form = new TopicDetailBatchFormDTO(); |
|
|
|
|
|
form.setTopicIdList(topicIds); |
|
|
|
|
|
Result<List<ResiTopicDetailResultDTO>> topicDetailsResult = resiGroupOpenFeignClient.listTopicDetailsByIds(form); |
|
|
|
|
|
if (!topicDetailsResult.success()) { |
|
|
|
|
|
logger.error("调用resi-group批量查询详情失败"); |
|
|
|
|
|
} else { |
|
|
|
|
|
List<ResiTopicDetailResultDTO> topicDetails = topicDetailsResult.getData(); |
|
|
|
|
|
HashMap<String, ResiTopicDetailResultDTO> rtm = convertTopicDetailList2Map(topicDetails); |
|
|
|
|
|
issueList.stream().forEach(vi -> { |
|
|
|
|
|
ResiTopicDetailResultDTO rr = rtm.get(vi.getSourceId()); |
|
|
|
|
|
vi.setTopicImgs(rr == null ? null : rr.getTopicImgs()); |
|
|
|
|
|
vi.setTopicVoices(rr == null ? null : rr.getTopicImgs()); |
|
|
|
|
|
vi.setTopicContent(rr.getTopicContent()); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return issueList; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|