diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/TopicInfoDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/TopicInfoDTO.java index faa0f39e1b..3ac912d4c2 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/TopicInfoDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/TopicInfoDTO.java @@ -30,6 +30,11 @@ public class TopicInfoDTO implements Serializable { */ private List topicImgs; + /** + * 话题语音-2022.10.10 + */ + private List topicVoices; + /** * 话题发表人(山东路168-尹女士) */ diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/HallIcEventDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/HallIcEventDTO.java new file mode 100644 index 0000000000..dba0b2cac3 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/HallIcEventDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author yzm + * @Date 2022/10/10 14:47 + */ +@Data +public class HallIcEventDTO implements Serializable { + private static final long serialVersionUID = -6245586010939647194L; + // todo +} + diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java index 4209446f79..807a98e55c 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.result; +import com.epmet.dto.TopicInfoDTO; import lombok.Data; import java.io.Serializable; @@ -41,10 +42,11 @@ public class VotingIssueListResultDTO implements Serializable { private String sourceId; /** - * 来源类型 话题:resi_topic;直接立议题:issue; + * 来源类型 话题:resi_topic;直接立议题:issue;事件:ic_event */ private String sourceType; + //最开始 那一版,话题的东西,是放在下面这几列的,做事件转议题时, 单独出来了topicInfoDTO,icEventInfo /** * 话题图片列表 */ @@ -67,4 +69,13 @@ public class VotingIssueListResultDTO implements Serializable { private String longitude; private String latitude; + + /** + * 话题信息-2022.10.10 + */ + private TopicInfoDTO topicInfoDTO; + /** + * 事件信息-2022.10.10 + */ + private HallIcEventDTO icEventInfo; } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java index 2da4bf2e29..881b45bb13 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java @@ -179,7 +179,7 @@ public class IssueController { } /** - * @Description 获取表决中议题列表 + * @Description 居民端议事厅-获取表决中议题列表 * @param issueListFormDTO * @return Result> * @author wangc diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java index 7771cb503b..d10e341a06 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java @@ -118,6 +118,11 @@ public interface IssueService { **/ PublishSuggestionResultDTO publisSuggestion(PublishSuggestionFormDTO formDTO); + /** + * 居民端议事厅-表决中议题列表 + * @param issueListFormDTO + * @return + */ List listVotingIssues(CommonIssueListFormDTO issueListFormDTO); /** diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index b9515de5bc..24e8bd1801 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -405,31 +405,44 @@ public class IssueServiceImpl implements IssueService { return govIssueFeignClient.processList(issueId).getData(); } + /** + * 居民端议事厅-表决中议题列表 + * @param issueListFormDTO + * @return + */ @Override public List listVotingIssues(CommonIssueListFormDTO issueListFormDTO) { + //1、查询表决中的议题列表,issue.created_time降序 Result> votingIssueListResult = govIssueFeignClient.votingList(issueListFormDTO); if (!votingIssueListResult.success()) { throw new RenException(String.format("调用gov-issue查询表决中列表失败")); } List votingIssueList = votingIssueListResult.getData(); if (votingIssueList != null && !CollectionUtils.isEmpty(votingIssueList)) { - List topicIds = votingIssueList.stream().map(i -> i.getSourceId()).collect(Collectors.toList()); - TopicDetailBatchFormDTO form = new TopicDetailBatchFormDTO(); - form.setTopicIdList(topicIds); - Result> topicDetailsResult = resiGroupOpenFeignClient.listTopicDetailsByIds(form); - if (!topicDetailsResult.success()) { - logger.error("调用resi-group批量查询详情失败"); - } else { + // 来源于话题的 + List topicIds = votingIssueList.stream().filter(t -> t.getSourceType().equals("resi_topic")).map(i -> i.getSourceId()).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(topicIds)) { + TopicDetailBatchFormDTO form = new TopicDetailBatchFormDTO(); + form.setTopicIdList(topicIds); + Result> topicDetailsResult = resiGroupOpenFeignClient.listTopicDetailsByIds(form); List topicDetails = topicDetailsResult.getData(); - HashMap rtm = convertTopicDetailList2Map(topicDetails); - votingIssueList.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 == null ? "" : rr.getTopicContent()); - vi.setLongitude(rr == null ? "" : rr.getLongitude()); - vi.setLatitude(rr == null ? "" : rr.getLatitude()); - }); + if (!CollectionUtils.isEmpty(topicDetails)) { + HashMap rtm = convertTopicDetailList2Map(topicDetails); + votingIssueList.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 == null ? "" : rr.getTopicContent()); + vi.setLongitude(rr == null ? "" : rr.getLongitude()); + vi.setLatitude(rr == null ? "" : rr.getLatitude()); + // todo 赋值话题详情 + }); + } + } + //来源于事件的 + List icEventIds = votingIssueList.stream().filter(t -> t.getSourceType().equals("ic_event")).map(i -> i.getSourceId()).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(icEventIds)){ + // todo 查询事件详情 } } return votingIssueList;