diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java index fdce22e8f2..7e04a6a07c 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java @@ -38,4 +38,22 @@ public class MyPartIssuesResultDTO implements Serializable { @JsonIgnore private String gridId; + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null || getClass() != obj.getClass()) { + return false; + } + MyPartIssuesResultDTO u = (MyPartIssuesResultDTO)obj; + return issueId.equals(u.issueId); + } + + @Override + public int hashCode() { + String in = issueId; + return in.hashCode(); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java index e1779a1720..50b8ebda99 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java @@ -81,7 +81,7 @@ public interface IssueVoteDetailDao extends BaseDao { * @author zxc * @date 2020/11/10 10:01 上午 */ - List myPartIssues(@Param("userId")String userId); + List myPartIssues(@Param("userId")String userId, @Param("topicIds")List topicIds); List myPartIssuesByTopicId(@Param("topicIds")List topicIds); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java index d995c8166a..fc8a5138de 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java @@ -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 myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) { - List myPartIssuesResult = issueVoteDetailDao.myPartIssues(myPartIssuesFormDTO.getUserId()); + List myPartIssuesResult = new ArrayList<>(); + //我创建的话题 + TopicIdListFormDTO topicIdListFormDTO = new TopicIdListFormDTO(); + topicIdListFormDTO.setUserId(myPartIssuesFormDTO.getUserId()); + Result> 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 myPartIssueResult = resiGroupOpenFeignClient.selectMyPartTopic(formDTO); if (!myPartIssueResult.success()){ throw new RenException("查询我评论过的话题失败......"); } + //我参与的话题转了议题的 if (!CollectionUtils.isEmpty(myPartIssueResult.getData().getTopicIds())){ - List myPartIssuesResultDTOS = issueVoteDetailDao.myPartIssuesByTopicId(myPartIssueResult.getData().getTopicIds()); - myPartIssuesResult.addAll(myPartIssuesResultDTOS); + List myPartIssues = issueVoteDetailDao.myPartIssuesByTopicId(myPartIssueResult.getData().getTopicIds()); + myPartIssuesResult.addAll(myPartIssues); } if (CollectionUtils.isEmpty(myPartIssuesResult)){ return new ArrayList<>(); } + Set set = new HashSet<>(myPartIssuesResult); + myPartIssuesResult = new ArrayList<>(set); List collect = myPartIssuesResult.stream().sorted(Comparator.comparing(MyPartIssuesResultDTO::getShiftIssueTime).reversed()).distinct().collect(Collectors.toList()); - List orgIds = collect.stream().map(m -> m.getGridId()).collect(Collectors.toList()); + List orgIds = collect.stream().map(MyPartIssuesResultDTO::getGridId).collect(Collectors.toList()); Result> listResult = govOrgOpenFeignClient.getGridListByGridIds(orgIds); if (!listResult.success()){ throw new RenException("查询议题来源网格名称失败......"); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml index d5f4e8bc80..f0d4ec2069 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml @@ -73,7 +73,7 @@ - SELECT vd.ISSUE_ID, i.SUGGESTION, @@ -85,6 +85,11 @@ WHERE i.DEL_FLAG = '0' AND vd.DEL_FLAG = '0' AND vd.CREATED_BY = #{userId} + + + i.SOURCE_ID != #{topicId} + + ORDER BY i.CREATED_TIME DESC @@ -97,8 +102,7 @@ UNIX_TIMESTAMP(i.CREATED_TIME) AS shiftIssueTime FROM issue i WHERE i.DEL_FLAG = '0' - AND - + i.SOURCE_ID = #{topicId} ORDER BY i.CREATED_TIME DESC diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index 276e11a1ac..260fe0db93 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -78,7 +78,7 @@ REAL_NAME realName, ID_NUM idNum, GENDER gender, - MOBILE mobile, + IFNULL(MOBILE,'') mobile, STREET street, DISTRICT district, BUILDING_ADDRESS buildingAddress,