diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPartProjectsResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPartProjectsResultDTO.java index 6375992bab..b5e41d64a5 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPartProjectsResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPartProjectsResultDTO.java @@ -43,11 +43,11 @@ public class MyPartProjectsResultDTO implements Serializable { /** * 议题Id,用户数据整合使用(项目出自哪个网格"组织-网格") */ - @JsonIgnore + //@JsonIgnore private String issueId; /** * 项目状态(待处理 pending,结案closed)用于查询当前处理部门信息 */ - @JsonIgnore + //@JsonIgnore private String status; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovHiddenTopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovHiddenTopicInfoResultDTO.java index 6008f6c0eb..073a984545 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovHiddenTopicInfoResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovHiddenTopicInfoResultDTO.java @@ -5,6 +5,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @Description @@ -51,4 +52,9 @@ public class GovHiddenTopicInfoResultDTO implements Serializable { * 话题的第一张图片地址 * */ private String topicFirstPhoto; + + /** + * 徽章Url集合 + */ + private List badgeList; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicInfoResultDTO.java index d60a24382d..84a1e2f5aa 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicInfoResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicInfoResultDTO.java @@ -5,6 +5,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** @@ -57,4 +58,9 @@ public class GovTopicInfoResultDTO implements Serializable { * 话题的状态 * */ private String topicState; + + /** + * 徽章Url集合 + */ + private List badgeList; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java index 1a41c1afd0..cce7d050fb 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java @@ -56,4 +56,9 @@ public class ResiTopicDetailResultDTO implements Serializable { * */ private List topicImgs; + /** + * 徽章Url集合 + */ + private List badgeList; + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueDetailResultDTO.java index 988d319ad8..97c0a12faf 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueDetailResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueDetailResultDTO.java @@ -70,4 +70,11 @@ public class ResiTopicIncludeIssueDetailResultDTO implements Serializable { * 关闭详情 如果没有关闭 对象里的字符串属性为String * */ private ResiTopicClosingMsgResultDTO closeDetail; + + /** + * 徽章Url列表 + */ + private List badgeList; + + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueInfoResultDTO.java index 55fe66f286..e2822a9189 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueInfoResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueInfoResultDTO.java @@ -5,6 +5,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @Description 话题信息返回DTO(包含议题Id和是否转为议题Flag) @@ -71,4 +72,9 @@ public class ResiTopicIncludeIssueInfoResultDTO implements Serializable { * 议题Id,当shiftIssueFlag为false时返回"" * */ private String issueId; + + /** + * 用户徽章 当releaseUserFlag为"me"时为空 + */ + private List badgeList; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java index 613b506acf..be2f5452e9 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java @@ -5,6 +5,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @Description 查看历史话题返回对象 @@ -62,4 +63,9 @@ public class ResiTopicInfoResultDTO implements Serializable{ * 第一张图片 * */ private String firstPhoto; + + /** + * 用户勋章Url集合 + */ + private List badgeList; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java index 6f3b1557d3..a4e0365d2a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java @@ -97,6 +97,7 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl>> badgeR + = userOpenFeignClient.userShowBadge( + new UserGroupFormDTO(group.getCustomerId(), + pastTopics.stream() + .filter(top -> StringUtils.equals("other",top.getReleaseUserFlag())) + .map(ResiTopicIncludeIssueInfoResultDTO::getUserId) + .distinct().collect(Collectors.toList()))); + if(null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()){ + Map> badgeM = badgeR.getData(); + pastTopics.forEach(top -> { + if(StringUtils.equals("other",top.getReleaseUserFlag())){ + top.setBadgeList( + CollectionUtils.isEmpty(badgeM.get(top.getUserId())) ? + Collections.EMPTY_LIST : + badgeM.get(top.getUserId()).stream().map(UserBadgeUnitFormDTO :: getBadgeIcon).collect(Collectors.toList()) + ); + }else top.setBadgeList(Collections.EMPTY_LIST); + }); + + }else pastTopics.forEach(top -> top.setBadgeList(Collections.EMPTY_LIST)); + + } + + } + + return new Result>().ok(pastTopics); } @@ -616,6 +652,18 @@ public class ResiTopicServiceImpl extends BaseServiceImpl userId = new LinkedList<>();userId.add(topicDetail.getCreatedBy()); + Result>> badgeR + = userOpenFeignClient.userShowBadge(new UserGroupFormDTO(group.getCustomerId(), userId)); + if(null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()){ + resultDTO.setBadgeList( + CollectionUtils.isEmpty(badgeR.getData().get(topicDetail.getCreatedBy())) ? + Collections.EMPTY_LIST: + badgeR.getData().get(topicDetail.getCreatedBy()).stream().map(UserBadgeUnitFormDTO :: getBadgeIcon).collect(Collectors.toList()) + ); + }else resultDTO.setBadgeList(Collections.EMPTY_LIST); return new Result().ok(resultDTO); } @@ -641,6 +689,36 @@ public class ResiTopicServiceImpl extends BaseServiceImpl 0) { setCacheUserInfo(topicPageFormDTO.getGroupId(), hiddenTopics); + + + //3.用户徽章 + //3.1首先需要拿到客户Id + ResiGroupEntity group = resiGroupDao.selectById(topicPageFormDTO.getGroupId()); + if(null != group && StringUtils.isNotBlank(group.getCustomerId())){ + Result>> badgeR + = userOpenFeignClient.userShowBadge( + new UserGroupFormDTO(group.getCustomerId(), + hiddenTopics.stream() + .filter(top -> StringUtils.equals("other",top.getReleaseUserFlag())) + .map(ResiTopicInfoResultDTO::getUserId) + .distinct().collect(Collectors.toList()))); + if(null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()){ + Map> badgeM = badgeR.getData(); + hiddenTopics.forEach(top -> { + if(StringUtils.equals("other",top.getReleaseUserFlag())){ + top.setBadgeList( + CollectionUtils.isEmpty(badgeM.get(top.getUserId())) ? + Collections.EMPTY_LIST : + badgeM.get(top.getUserId()).stream().map(UserBadgeUnitFormDTO :: getBadgeIcon).collect(Collectors.toList()) + ); + }else top.setBadgeList(Collections.EMPTY_LIST); + }); + + }else hiddenTopics.forEach(top -> top.setBadgeList(Collections.EMPTY_LIST)); + + } + + } return new Result>().ok(hiddenTopics); @@ -791,6 +869,30 @@ public class ResiTopicServiceImpl extends BaseServiceImpl>> badgeR + = userOpenFeignClient.userShowBadge( + new UserGroupFormDTO(group.getCustomerId(), + pastTopics.stream() + .map(ResiTopicInfoResultDTO::getUserId) + .distinct().collect(Collectors.toList()))); + if (null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()) { + Map> badgeM = badgeR.getData(); + pastTopics.forEach(top -> { + top.setBadgeList( + CollectionUtils.isEmpty(badgeM.get(top.getUserId())) ? + Collections.EMPTY_LIST : + badgeM.get(top.getUserId()).stream().map(UserBadgeUnitFormDTO::getBadgeIcon).collect(Collectors.toList()) + ); + }); + + } else pastTopics.forEach(top -> top.setBadgeList(Collections.EMPTY_LIST)); + + } } return new Result>().ok(pastTopics); @@ -864,11 +966,13 @@ public class ResiTopicServiceImpl extends BaseServiceImpl 0) { for (UserResiInfoResultDTO user : result.getData()) { - ResiTopicInfoResultDTO topic = - topicMap.get(user.getUserId()).get(0); - topic.setReleaseUserHeadPhoto(user.getHeadPhoto()); - topic.setReleaseUserName(user.getShowName()); + if(!CollectionUtils.isEmpty(topicMap.get(user.getUserId()))){ + topicMap.get(user.getUserId()).forEach( topic -> { + topic.setReleaseUserHeadPhoto(user.getHeadPhoto()); + topic.setReleaseUserName(user.getShowName()); + }); + } //存入缓存 ResiGroupMemberInfoRedisDTO memberRedisDTO = new ResiGroupMemberInfoRedisDTO(); ResiGroupMemberDTO memberMySql = resiGroupMemberDao.selectGroupMemberInfo(groupId, user.getUserId()); @@ -936,10 +1040,12 @@ public class ResiTopicServiceImpl extends BaseServiceImpl 0) { for (UserResiInfoResultDTO user : result.getData()) { - ResiTopicIncludeIssueInfoResultDTO topic = - topicMap.get(user.getUserId()).get(0); - topic.setReleaseUserHeadPhoto(user.getHeadPhoto()); - topic.setReleaseUserName(user.getShowName()); + if(!CollectionUtils.isEmpty(topicMap.get(user.getUserId()))){ + topicMap.get(user.getUserId()).forEach( topic -> { + topic.setReleaseUserHeadPhoto(user.getHeadPhoto()); + topic.setReleaseUserName(user.getShowName()); + }); + } //存入缓存 ResiGroupMemberInfoRedisDTO memberRedisDTO = new ResiGroupMemberInfoRedisDTO(); 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 a735f0f565..cf570c9eda 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 @@ -460,8 +460,8 @@ + +