From 14eb29ad70a6e2ddf59011f72a7049041d9c7707 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 22 May 2020 09:11:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=9A=E5=BB=BA=E5=9B=AD=E5=9C=B0-=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E8=AE=AE=E9=A2=98=E3=80=81=E9=A1=B9=E7=9B=AE=E7=BB=93?= =?UTF-8?q?=E6=A1=88=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/IssueConstant.java | 1 + .../src/main/java/com/epmet/dao/IssueDao.java | 2 +- .../epmet/dao/IssueProjectRelationDao.java | 2 +- .../com/epmet/feign/ResiGroupFeignClient.java | 10 ++++ .../ResiGroupFeignClientFallBack.java | 7 +++ .../epmet/service/impl/IssueServiceImpl.java | 57 ++++++++++++++++--- .../src/main/resources/mapper/IssueDao.xml | 9 +-- .../mapper/IssueProjectRelationDao.xml | 3 +- .../mapper/IssueVoteStatisticalDao.xml | 2 +- .../service/impl/ProjectServiceImpl.java | 3 +- .../epmet/modules/topic/controller/.gitkeep | 0 .../topic/controller/ResiTopicController.java | 10 ++++ .../epmet/modules/topic/dao/ResiTopicDao.java | 8 +++ .../topic/service/ResiTopicService.java | 7 +++ .../service/impl/ResiTopicServiceImpl.java | 11 ++++ .../resources/mapper/topic/ResiTopicDao.xml | 12 ++++ .../epmet/service/impl/IssueServiceImpl.java | 7 ++- 17 files changed, 132 insertions(+), 19 deletions(-) delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/.gitkeep diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java index 9c330b89d6..a1f7413919 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java @@ -66,4 +66,5 @@ public interface IssueConstant { String REDIS_KEY = "epmet:issue:"; String SELECT_ISSUEPROJECTRELATION_EXCEPTION = "获取议题项目关系数据失败"; + String SELECT_RESI_GROUP_EXCEPTION = "获取话题数据失败"; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java index 815d944014..75cb01b7a9 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java @@ -121,7 +121,7 @@ public interface IssueDao extends BaseDao { * @Author sun * @Description 查询客户网格下已结案项目对应的议题列表 **/ - List selectIssueList(@Param("issueIdList") List issueIdList, LatestListFormDTO latestListForm); + List selectIssueList(@Param("issueIdList") List issueIdList, @Param("latestListForm") LatestListFormDTO latestListForm); /** * @param formDTO diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java index 6b1b2727be..017723d64a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java @@ -46,7 +46,7 @@ public interface IssueProjectRelationDao extends BaseDao selectRelationList(@Param("projectIdList") List projectIdList); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index 59fd426b87..f78d81eb02 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + /** * @Description 调用resi-group服务 * @Author sun @@ -59,4 +61,12 @@ public interface ResiGroupFeignClient { @PostMapping("/resi/group/topic/checktopicpublisher") Result checkTopicPublisher(@RequestBody CheckTopicPublisherFormDTO formDTO); + /** + * @param topicIdList + * @Author sun + * @Description 批量查询话题信息 + **/ + @PostMapping("/resi/group/topic/gettopiclist/{topicIdList}") + Result> getTopicList(@PathVariable("topicIdList") List topicIdList); + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java index a822a0c4b7..66efd5aebb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -14,6 +14,8 @@ import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Description 调用resi-group服务 * @Author sun @@ -39,4 +41,9 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { public Result checkTopicPublisher(CheckTopicPublisherFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "checkTopicPublisher", formDTO); } + + @Override + public Result> getTopicList(List topicIdList) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getTopicList", topicIdList); + } } 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 069177ae8e..b0136b0a2e 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 @@ -27,10 +27,7 @@ import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; import com.epmet.entity.IssueProjectRelationEntity; import com.epmet.entity.IssueVoteStatisticalEntity; -import com.epmet.feign.GovOrgFeignClient; -import com.epmet.feign.GovProjectFeignClient; -import com.epmet.feign.MessageFeignClient; -import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.feign.*; import com.epmet.redis.GovIssueRedis; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; @@ -83,6 +80,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp private IssueProjectRelationService issueProjectRelationService; @Autowired private IssueVoteStatisticalDao issueVoteStatisticalDao; + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; @Override public PageData page(Map params) { @@ -605,7 +604,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp if (null == projectIdList || projectIdList.size() < NumConstant.ONE) { return resultList; } - //1:根据已结案项目列表查询对应的议题列表 + //1:根据已结案项目列表查询议题项目关系表数据 List listRelation = issueProjectRelationDao.selectRelationList(projectIdList); if(null==listRelation||listRelation.size() imp List issueIdList = listRelation.stream().map(IssueProjectRelationEntity::getIssueId).collect(Collectors.toList()); //2:根据查询条件筛选出客户网格下已结案项目对应的议题详情列表 - List entityList = baseDao.selectIssueList(issueIdList, formDTO.getLatestListForm()); + LatestListFormDTO latestListForm = formDTO.getLatestListForm(); + latestListForm.setPageNo((latestListForm.getPageNo()-NumConstant.ONE)*latestListForm.getPageSize()); + List entityList = baseDao.selectIssueList(issueIdList, latestListForm); //3:遍历封装数据 entityList.forEach(issue->{ @@ -648,14 +649,56 @@ public class IssueServiceImpl extends BaseServiceImpl imp if (null == entityList || entityList.size() < NumConstant.ONE) { return returnList; } + //2:根据议题Id查询议题投票情况 List issueIdList = entityList.stream().map(IssueEntity::getId).collect(Collectors.toList()); List StatisticalList = issueVoteStatisticalDao.selectListByissueId(issueIdList); + //3:调用epmet-user服务,查询议题发起人基本信息 List userIdList = entityList.stream().map(IssueEntity::getCreatedBy).collect(Collectors.toList()); + UserResiInfoListFormDTO userResiInfoListFormDTO = new UserResiInfoListFormDTO(); + userResiInfoListFormDTO.setUserIdList(userIdList); + Result> listResult = epmetUserFeignClient.getUserResiInfoList(userResiInfoListFormDTO); + if (!listResult.success() || null == listResult.getData()) { + throw new RenException(IssueConstant.SELECT_USERINFO_EXCEPTION); + } + List userInfoList = listResult.getData(); + //4:调用resi-group服务,批量查询话题内容 + List topicIdList = entityList.stream().map(IssueEntity::getSourceId).collect(Collectors.toList()); + Result> resultTopicList = resiGroupFeignClient.getTopicList(topicIdList); + if (!resultTopicList.success() || null == resultTopicList.getData()) { + throw new RenException(IssueConstant.SELECT_RESI_GROUP_EXCEPTION); + } + List topicList = resultTopicList.getData(); + + //5:遍历组装对象 + entityList.forEach(issue -> { + LatestIssueListResultDTO resultDTO = new LatestIssueListResultDTO(); + resultDTO.setIssueId(issue.getId()); + resultDTO.setIssueTitle(issue.getIssueTitle()); + StatisticalList.forEach(sta -> { + if (issue.getId().equals(sta.getIssueId())) { + //表达态度总人数 + resultDTO.setVotedCount(sta.getSupportCount() + sta.getOppositionCount()); + } + }); + userInfoList.forEach(user -> { + if (issue.getCreatedBy().equals(user.getUserId())) { + //话题发起人昵称 + resultDTO.setIssuePublisherName(user.getShowName()); + } + }); + topicList.forEach(topic -> { + if (issue.getSourceId().equals(topic.getId())) { + //话题内容 + resultDTO.setTopicContent(topic.getTopicContent()); + } + }); + returnList.add(resultDTO); + }); - return null; + return returnList; } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml index 7623bdbfc1..204cd1779f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml @@ -329,17 +329,18 @@ * FROM issue WHERE del_flag = '0' - AND customer_id = #{customerId} - AND grid_id = #{gridId} + AND customer_id = #{latestListForm.customerId} + AND grid_id = #{latestListForm.gridId} id = #{issueId} ORDER BY field( - id, + id, #{issueId} - LIMIT #{pageNo}, #{pageSize} + ) + LIMIT #{latestListForm.pageNo}, #{latestListForm.pageSize} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml index ebef0c833b..9bf812f0a7 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml @@ -73,7 +73,7 @@ SELECT * FROM - issue_vote_statistical_daily + issue_vote_statistical WHERE del_flag = '0' issue_id = #{issueId} 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 ecf124231d..7d0ab4a6a0 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 @@ -594,7 +594,8 @@ public class ProjectServiceImpl extends BaseServiceImpl staffList.stream().filter(staff -> project.getCloseUserId().equals(staff.getStaffId())).map(latest -> { - LatestListResultDTO resultDTO = ConvertUtils.sourceToTarget(latest, LatestListResultDTO.class); + LatestListResultDTO resultDTO = ConvertUtils.sourceToTarget(project, LatestListResultDTO.class); + resultDTO.setCloseUserName(latest.getStaffName()); return resultDTO; })).collect(Collectors.toList()); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/.gitkeep b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index bbee6b578f..2ed9de8661 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -260,4 +260,14 @@ public class ResiTopicController { return new Result().ok(topicService.checkTopicPublisher(formDTO)); } + /** + * @param topicIdList + * @return + * @Author sun + * @Description 批量查询话题信息 + **/ + @PostMapping(value = "gettopiclist/{topicIdList}") + public Result> getTopicList(@PathVariable("topicIdList") List topicIdList){ + return new Result>().ok(topicService.getTopicList(topicIdList)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index 8f4b3fdfd1..f09e2b6d3f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -152,4 +152,12 @@ public interface ResiTopicDao extends BaseDao { * @author zxc */ CheckTopicPublisherResultDTO checkTopicPublisher(CheckTopicPublisherFormDTO formDTO); + + /** + * @param topicIdList + * @return + * @Author sun + * @Description 批量查询话题信息 + **/ + List selectTopicListById(@Param("topicIdList") List topicIdList); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index 08b8e89fd9..4fc298ad81 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -264,4 +264,11 @@ public interface ResiTopicService extends BaseService { */ CheckTopicPublisherResultDTO checkTopicPublisher(CheckTopicPublisherFormDTO formDTO); + /** + * @param topicIdList + * @return + * @Author sun + * @Description 批量查询话题信息 + **/ + List getTopicList(List topicIdList); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index f5bd09a849..60c3144faf 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -1151,6 +1151,17 @@ public class ResiTopicServiceImpl extends BaseServiceImpl getTopicList(List topicIdList) { + return baseDao.selectTopicListById(topicIdList); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index e742be69e8..32f33251d2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -446,5 +446,17 @@ AND created_by = #{createdBy} AND id = #{topicId} + + diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index a4953bd53e..6714928f69 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.LatestIssueListFormDTO; import com.epmet.dto.result.LatestIssueListResultDTO; import com.epmet.feign.GovIssueFeignClient; @@ -27,9 +28,9 @@ public class IssueServiceImpl implements IssueService { **/ @Override public List latestList(LatestIssueListFormDTO formDTO) { - //1:调用gov-issue服务,查询客户网格下最新议题列表 - - return null; + //1:调用gov-issue服务,查询客户网格下最新议题列表数据 + Result> listResult = govIssueFeignClient.getNewestIssueList(formDTO); + return listResult.getData(); } }