diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java index 49ec851463..9830571222 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java @@ -47,6 +47,8 @@ public class TopicInfoResultDTO implements Serializable { */ private String topicPublishMobile; + private String groupId; + @JsonIgnore private String topicUserId; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicInfoDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicInfoDTO.java index f65dc96c40..199796e522 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicInfoDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicInfoDTO.java @@ -40,4 +40,9 @@ public class TopicInfoDTO implements Serializable { */ private Long publishedTime = 0L; + /** + * 小组类型(ordinary:楼院小组 branch:支部小组) + */ + private String groupType; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java index cb5852ebfd..827fc40a5f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java @@ -5,14 +5,12 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IssueAppQueryFormDTO; import com.epmet.dto.form.IssueApplicationIdFormDTO; -import com.epmet.dto.result.AllGridsByUserIdResultDTO; -import com.epmet.dto.result.ApplicationHistoryResDTO; -import com.epmet.dto.result.IssueApplicationResDTO; -import com.epmet.dto.result.UserBaseInfoResultDTO; +import com.epmet.dto.result.*; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; +import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.service.GroupIssueService; import com.epmet.modules.topic.service.ResiTopicService; import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; @@ -20,6 +18,10 @@ import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; import com.epmet.resi.group.dto.group.result.*; +import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; +import com.epmet.resi.group.dto.group.result.TopicInfoResultDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -74,7 +76,26 @@ public class GroupIssueServiceImpl implements GroupIssueService { userIds.add(data.getUserId()); TopicInfoResultDTO topicInfoResultDTO = resiGroupDao.selectTopicInfo(data.getTopicId()); userIds.add(topicInfoResultDTO.getTopicUserId()); - Result> listResult = epmetUserOpenFeignClient.queryUserBaseInfo(userIds); + // 查询小组类别 + ResiGroupEntity resiGroupEntity = resiGroupDao.selectById(topicInfoResultDTO.getGroupId()); + if (null == resiGroupEntity){ + throw new RenException("此小组信息不存在"); + } + List userInfos = resiTopicService.disPoseUserInfo(resiGroupEntity.getGroupType(), userIds); + if(CollectionUtils.isEmpty(userInfos)){ + throw new RenException("未查询到用户信息"); + } + userInfos.forEach(u -> { + if (u.getUserId().equals(data.getUserId())){ + data.setIssuePublisher(u.getReleaseUserName()); + data.setIssuePublisherMobile(u.getMobile()); + } + if (u.getUserId().equals(topicInfoResultDTO.getTopicUserId())){ + topicInfoResultDTO.setPublishedUser(u.getReleaseUserName()); + topicInfoResultDTO.setTopicPublishMobile(u.getMobile()); + } + }); + /*Result> listResult = epmetUserOpenFeignClient.queryUserBaseInfo(userIds); if (!listResult.success()){ throw new RenException("查询话题创建者,议题创建者失败......"); } @@ -87,7 +108,7 @@ public class GroupIssueServiceImpl implements GroupIssueService { topicInfoResultDTO.setPublishedUser(user.getStreet().concat("-").concat(user.getSurname()).concat(getMrOrMs(user.getGender()))); topicInfoResultDTO.setTopicPublishMobile(user.getMobile()); } - }); + });*/ List gridIds = new ArrayList<>(); gridIds.add(data.getGridId()); Result> gridListByGridIds = govOrgOpenFeignClient.getGridListByGridIds(gridIds); 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 c73be463d4..af610fd84e 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 @@ -1450,18 +1450,35 @@ public class ResiTopicServiceImpl extends BaseServiceImpl r = epmetUserFeignClient.selectIssueInitiator(issueInitiator); - if (!r.success()){ - throw new RenException("查询话题发起人失败......"); - } - if (null != r.getData()){ - IssueInitiatorResultDTO issueInitiatorResult = r.getData(); - if (!StringUtils.isBlank(issueInitiatorResult.getIssueInitiator())) { - topicInfo.setPublishedUser(issueInitiatorResult.getIssueInitiator()); + if("branch".equals(topicInfo.getGroupType())){//支部小组话题发起人显示真实姓名 + List userIdList = new ArrayList<>(); + userIdList.add(topicInfo.getPublishedUser()); + Result> result = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); + if (!result.success()) { + throw new RenException("调用user服务,获取用户基础数据失败"); + } + List resultDTOList = result.getData(); + resultDTOList.forEach(re->{ + if(topicInfo.getPublishedUser().equals(re.getUserId())){ + //话题发起人 + topicInfo.setPublishedUser(re.getRealName() == null ? "" : re.getRealName()); + } + }); + } else { + IssueInitiatorFormDTO issueInitiator = new IssueInitiatorFormDTO(); + issueInitiator.setUserId(topicInfo.getPublishedUser()); + Result r = epmetUserFeignClient.selectIssueInitiator(issueInitiator); + if (!r.success()){ + throw new RenException("查询话题发起人失败......"); + } + if (null != r.getData()){ + IssueInitiatorResultDTO issueInitiatorResult = r.getData(); + if (!StringUtils.isBlank(issueInitiatorResult.getIssueInitiator())) { + topicInfo.setPublishedUser(issueInitiatorResult.getIssueInitiator()); + } } } + return topicInfo; } @@ -2581,6 +2598,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl userIds = new ArrayList<>(); + userIds.add(entity.getCreatedBy()); + List userInfos = resiTopicService.disPoseUserInfo(resiGroup.getGroupType(), userIds); + if (CollectionUtils.isEmpty(userInfos)){ + throw new RenException("未查询到用户信息"); + } + userInfos.forEach(u -> { + if (u.getUserId().equals(entity.getCreatedBy())){ + result.setReleaseUserName(u.getReleaseUserName()); + result.setReleaseUserHeadPhoto(u.getReleaseUserHeadPhoto()); + } + }); return result; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 5fd796b941..6f60f3d262 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -456,6 +456,7 @@ + @@ -467,7 +468,8 @@ rt.CREATED_BY AS topicUserId, UNIX_TIMESTAMP(rt.CREATED_TIME) AS publishedTime, rt.TOPIC_CONTENT as topicContent, - ta.ATTACHMENT_URL AS imgUrl + ta.ATTACHMENT_URL AS imgUrl, + rt.GROUP_ID FROM resi_topic rt LEFT JOIN resi_topic_attachment ta ON ta.TOPIC_ID = rt.ID WHERE rt.DEL_FLAG = '0' 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 a527b720ef..b5f35a8a7a 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 @@ -378,15 +378,18 @@ 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 6dcf993139..86e0daefb2 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 @@ -40,4 +40,10 @@ public class TopicInfoDTO implements Serializable { */ private Long publishedTime; + /** + * 小组类型(ordinary:楼院小组 branch:支部小组) + */ + private String groupType; + + } diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueInitiatorResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueInitiatorResultDTO.java index 08e0113ace..8b5a7d7a81 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueInitiatorResultDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueInitiatorResultDTO.java @@ -16,5 +16,9 @@ public class IssueInitiatorResultDTO implements Serializable { * 议题发起人(山东路168-尹女士) */ private String issueInitiator; + /** + * 议题发起人真实姓名 + */ + private String realUserName; } diff --git a/epmet-module/resi-hall/resi-hall-server/pom.xml b/epmet-module/resi-hall/resi-hall-server/pom.xml index a78f2f33f8..09c3635faf 100644 --- a/epmet-module/resi-hall/resi-hall-server/pom.xml +++ b/epmet-module/resi-hall/resi-hall-server/pom.xml @@ -51,6 +51,12 @@ 2.0.0 compile + + com.epmet + epmet-user-client + 2.0.0 + compile + 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 64c1d9361b..2b3abe016b 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 @@ -45,6 +45,8 @@ public class IssueServiceImpl implements IssueService { private GovIssueOpenFeignClient govIssueOpenFeignClient; @Autowired private LoginUserUtil loginUserUtil; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; /** * @param issueDetail @@ -62,13 +64,7 @@ public class IssueServiceImpl implements IssueService { return issueDetailResult; } BeanUtils.copyProperties(issueResult, issueDetailResult); - //话题发起人 - IssueInitiatorFormDTO initiatorFormDTO = new IssueInitiatorFormDTO(); - initiatorFormDTO.setUserId(issueResult.getUserId()); - if (!StringUtils.isBlank(issueResult.getUserId())) { - IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData(); - issueDetailResult.setIssueInitiator(initiatorResult == null ? HallConstat.NULL_CHARACTER_STRING : initiatorResult.getIssueInitiator()); - } + //网格名称 BelongGridNameFormDTO belongGridName = new BelongGridNameFormDTO(); belongGridName.setGridId(issueResult.getGridId()); @@ -79,10 +75,35 @@ public class IssueServiceImpl implements IssueService { //话题信息 TopicInfoFormDTO topicInfoFormDTO = new TopicInfoFormDTO(); topicInfoFormDTO.setTopicId(issueResult.getTopicId()); + TopicInfoDTO topicInfoDTOResult = new TopicInfoDTO(); if (!StringUtils.isBlank(issueResult.getTopicId())) { - TopicInfoDTO topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO).getData(); + topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO).getData(); issueDetailResult.setTopicInfo(topicInfoDTOResult == null ? new TopicInfoDTO() : topicInfoDTOResult); } + if("branch".equals(topicInfoDTOResult.getGroupType())){//支部小组话题发起人显示真实姓名 + List userIdList = new ArrayList<>(); + userIdList.add(issueResult.getUserId()); + Result> result = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); + if (!result.success()) { + throw new RenException("调用user服务,获取用户基础数据失败"); + } + List resultDTOList = result.getData(); + resultDTOList.forEach(re->{ + if(issueResult.getUserId().equals(re.getUserId())){ + //话题发起人 + issueDetailResult.setIssueInitiator(re.getRealName() == null ? "" : re.getRealName()); + } + }); + } else { + //话题发起人 + IssueInitiatorFormDTO initiatorFormDTO = new IssueInitiatorFormDTO(); + initiatorFormDTO.setUserId(issueResult.getUserId()); + if (!StringUtils.isBlank(issueResult.getUserId())) { + IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData(); + issueDetailResult.setIssueInitiator(initiatorResult == null ? HallConstat.NULL_CHARACTER_STRING : initiatorResult.getIssueInitiator()); + } + } + //判断是否投票 CheckVoteFormDTO formDTO = new CheckVoteFormDTO(); formDTO.setIssueId(issueDetail.getIssueId()); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IssueInitiatorResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IssueInitiatorResultDTO.java index 08e0113ace..8b5a7d7a81 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IssueInitiatorResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IssueInitiatorResultDTO.java @@ -16,5 +16,9 @@ public class IssueInitiatorResultDTO implements Serializable { * 议题发起人(山东路168-尹女士) */ private String issueInitiator; + /** + * 议题发起人真实姓名 + */ + private String realUserName; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoResultDTO.java index cccc7c04ce..0189aaa6e8 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoResultDTO.java @@ -25,4 +25,9 @@ public class UserInfoResultDTO implements Serializable { * 话题发布者的头像Url */ private String releaseUserHeadPhoto; + + /** + * 手机号 + */ + private String mobile; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index 1dca8f531b..1f585c1ab6 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -142,13 +142,20 @@ '-', uri.surname, CASE - WHEN uw.sex = '1' THEN - '先生' - WHEN uw.sex = '2' THEN - '女士' - ELSE '先生/女士' - END - ) AS issueInitiator + WHEN uw.sex = '1' THEN + '先生' + WHEN uw.sex = '2' THEN + '女士' + ELSE + '先生/女士' + END + ) AS issueInitiator, + CONCAT( + uri.street, + '-', + uri.surname, + uriNAME + ) AS realUserName FROM user_resi_info uri LEFT JOIN user_wechat uw ON uw.user_id = uri.user_id