diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index b2e939d9e9..58f010561f 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -34,7 +34,7 @@ import java.util.Map; * @date 2020/6/4 13:37 */ @FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallbackFactory = GovIssueOpenFeignClientFallBackFactory.class) -//@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallbackFactory = GovIssueOpenFeignClientFallBackFactory.class,url = "localhost:8101") +// @FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallbackFactory = GovIssueOpenFeignClientFallBackFactory.class,url = "localhost:8101") public interface GovIssueOpenFeignClient { /** @@ -336,7 +336,11 @@ public interface GovIssueOpenFeignClient { @PostMapping(value = "/gov/issue/issueprojectcategorydict/getprojectcategory") Result> getProjectCategory(@RequestBody List list); - + /** + * 调用此方法建议分页!!!! + * @param formDTO + * @return + */ @PostMapping("/gov/issue/issue/unresolvedlist") Result> getUnresolvedList(@RequestBody ShiftProjectListFromDTO formDTO); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 896a3b7a37..8f15ea37fb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -11,6 +11,7 @@ import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.dto.commondto.IcEventComDTO; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.commons.tools.enums.EventEnum; @@ -1659,28 +1660,56 @@ public class IssueServiceImpl extends BaseServiceImpl imp @Override public List getUnResolvedList(ShiftProjectListFromDTO fromDTO) { List resultList = new ArrayList<>(); + List allList = new ArrayList<>(); + //1、该网格下已关闭且无需解决的议题 List issueList = baseDao.selectUnResolvedList(fromDTO.getGridId()); if (CollectionUtils.isNotEmpty(issueList)) { - resultList.addAll(issueList); + allList.addAll(issueList); } + //2、来源于议题的项目,结案无需解决的项目 List projectList = govProjectOpenFeignClient.getUnResolvedList(fromDTO).getData(); if (CollectionUtils.isNotEmpty(projectList)) { - resultList.addAll(projectList); + allList.addAll(projectList); } - if (CollectionUtils.isNotEmpty(resultList)) { - resultList = resultList.stream().sorted(Comparator.comparing(UnResolvedResultDTO::getClosedTime).reversed()).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(allList)) { + allList = allList.stream().sorted(Comparator.comparing(UnResolvedResultDTO::getClosedTime).reversed()).collect(Collectors.toList()); if (fromDTO.getIsPage()) { int fromIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); int toIndex = fromDTO.getPageNo() * fromDTO.getPageSize(); - if (fromIndex >= resultList.size()) { + if (fromIndex >= allList.size()) { return new ArrayList<>(); } - if (toIndex > resultList.size()) { - toIndex = resultList.size(); + if (toIndex > allList.size()) { + toIndex = allList.size(); } - resultList = resultList.subList(fromIndex, toIndex); + resultList = allList.subList(fromIndex, toIndex); } } + //重新查询一下所有议题的来源类型, 且来源于事件的议题,赋值icEventInfo + List issueIds=resultList.stream().map(i -> i.getIssueId()).collect(Collectors.toList()); + List issueEntityList=baseDao.selectBatchIds(issueIds); + if(CollectionUtils.isNotEmpty(issueEntityList)){ + Map eventMap=new HashMap<>(); + // 来源于事件的 + List icEventIds = issueEntityList.stream().filter(t -> t.getSourceType().equals("ic_event")).map(i -> i.getSourceId()).collect(Collectors.toList()); + if (!org.springframework.util.CollectionUtils.isEmpty(icEventIds)) { + Result> eventInfoRes = govProjectOpenFeignClient.batchSelectById(icEventIds); + if (eventInfoRes.success() && !org.springframework.util.CollectionUtils.isEmpty(eventInfoRes.getData())) { + eventMap = eventInfoRes.getData().stream().collect(Collectors.toMap(IcEventDTO::getId, o -> o, (o1, o2) -> o1)); + } + } + Map issueMap=issueEntityList.stream().collect(Collectors.toMap(IssueEntity::getId, o -> o, (o1, o2) -> o1)); + Map finalEventMap = eventMap; + resultList.forEach(vi -> { + vi.setIssueSourceType(null != issueMap.get(vi.getIssueId()) ? issueMap.get(vi.getIssueId()).getSourceType() : StrConstant.EPMETY_STR); + IcEventDTO event = finalEventMap.get(vi.getSourceId()); + if (null != event) { + IcEventComDTO eventComDTO = ConvertUtils.sourceToTarget(event, IcEventComDTO.class); + eventComDTO.setIcEventId(event.getId()); + vi.setIcEventInfo(eventComDTO); + } + }); + } return resultList; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UnResolvedResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UnResolvedResultDTO.java index cd3e689745..7d65a6a6b1 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UnResolvedResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UnResolvedResultDTO.java @@ -1,5 +1,7 @@ package com.epmet.dto.result; +import com.epmet.commons.tools.dto.commondto.IcEventComDTO; +import com.epmet.commons.tools.dto.commondto.TopicInfoComDTO; import lombok.Data; import java.io.Serializable; @@ -75,4 +77,13 @@ public class UnResolvedResultDTO implements Serializable { */ private List issueImgs; private String projectId; + + /** + * 话题信息-2022.10.10 + */ + private TopicInfoComDTO topicInfo; + /** + * 事件信息-2022.10.10 + */ + private IcEventComDTO icEventInfo; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java index 02f813b232..6968e62398 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java @@ -279,7 +279,7 @@ public class ProjectController { } /** - * 无需解决项目列表 + * 无需解决项目列表 来源于议题,已结案,无需解决的项目 * @author zhaoqifeng * @date 2021/7/27 14:55 * @param formDTO diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index 7dba649107..62c0040244 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -308,7 +308,7 @@ public interface ProjectService extends BaseService { List getResolvedListByGrid(ShiftProjectListFromDTO fromDTO); /** - * 无需解决项目列表 + * 无需解决项目列表 来源于议题,已结案,无需解决的项目 * @author zhaoqifeng * @date 2021/7/27 14:40 * @param fromDTO diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index ede20937fc..80aebed8a2 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -2944,6 +2944,7 @@ public class ProjectServiceImpl extends BaseServiceImpl getUnResolvedListByGrid(ShiftProjectListFromDTO fromDTO) { + //来源于议题,已结案,无需解决的项目 return baseDao.selectUnResolvedListByGrid(fromDTO.getGridId()); } 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 7d010949fe..1b46ac9e40 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 @@ -744,7 +744,12 @@ public class IssueServiceImpl implements IssueService { /** * 无需解决项目议题列表 - * + * 1、表决中:议题 + * 2、处理中:已转项目的议题,项目未结案的; + * 3、已处理: + * 3.1、已结案:议题已转项目,且项目结案选择已解决 + * 3.2、已关闭:议题关闭且选择的是已解决 + * 3.3、无需解决:议题关闭无需解决+议题已转项目无需解决 ❤ * @param formDTO * @return java.util.List * @author zhaoqifeng @@ -771,6 +776,17 @@ public class IssueServiceImpl implements IssueService { vi.setTopicContent(rr == null ? "" : rr.getTopicContent()); vi.setLongitude(rr == null ? "" : rr.getLongitude()); vi.setLatitude(rr == null ? "" : rr.getLatitude()); + // 赋值话题详情 + if(null!=rr){ + TopicInfoComDTO topicInfoDTO=new TopicInfoComDTO(); + topicInfoDTO.setTopicId(rr.getTopicId()); + topicInfoDTO.setTopicContent(rr.getTopicContent()); + topicInfoDTO.setTopicImgs(rr.getTopicImgs()); + topicInfoDTO.setTopicVoices(rr.getTopicVoices()); + topicInfoDTO.setPublishedUser(rr.getReleaseUserName()); + topicInfoDTO.setReleaseTime(rr.getReleaseTime()); + vi.setTopicInfo(topicInfoDTO); + } }); } return resultList;