From cf5d42c347386c0550ffae31113e53fa825059f1 Mon Sep 17 00:00:00 2001 From: wangchao Date: Wed, 30 Dec 2020 13:51:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=88=86=E4=BA=AB=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E8=BF=94=E5=9B=9E=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=B8=8E=E9=93=BE=E6=8E=A5=E4=B8=AD=E7=BB=84=E3=80=81=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E7=9A=84=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rRelationBetweenGroupAndGridResultDTO.java | 6 +-- .../impl/TopicShareLinkRecordServiceImpl.java | 49 ++++++++++++++++++- 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MemberRelationBetweenGroupAndGridResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MemberRelationBetweenGroupAndGridResultDTO.java index a00b489f3a..e3b0446113 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MemberRelationBetweenGroupAndGridResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MemberRelationBetweenGroupAndGridResultDTO.java @@ -17,15 +17,15 @@ public class MemberRelationBetweenGroupAndGridResultDTO implements Serializable /** * 是否存在入组待审核记录,true:存在,false:不存在 */ - private Boolean awaitAudit; + private Boolean awaitAudit = false; /** * 是否在群内标志,已经在群内:true, 不在群内:false */ - private Boolean inGroup; + private Boolean inGroup = false; /** * 此人有没有加入所在小组所属网格下的任何一个小组,true:加入,false:未加入 */ - private Boolean inAnyGroup; + private Boolean inAnyGroup = false; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java index 4b2ce36b96..4163761b96 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java @@ -9,15 +9,22 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.IssueShareLinkRecordDTO; import com.epmet.feign.GovIssueOpenFeignClient; +import com.epmet.modules.group.dao.ResiGroupDao; +import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.member.dao.GroupMemeberOperationDao; import com.epmet.modules.member.dao.ResiGroupMemberDao; +import com.epmet.modules.topic.dao.ResiTopicDao; import com.epmet.modules.topic.dao.TopicShareLinkRecordDao; import com.epmet.modules.topic.dao.TopicShareLinkVisitRecordDao; import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity; import com.epmet.modules.topic.service.TopicShareLinkRecordService; +import com.epmet.modules.utils.ModuleConstant; import com.epmet.resi.group.constant.TopicShareConstant; +import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; import com.epmet.resi.group.dto.topic.form.CreateUrlFormDTO; import com.epmet.resi.group.dto.topic.form.ShareLinkTypeFormDTO; @@ -27,10 +34,12 @@ import com.epmet.resi.group.dto.topic.result.CreateUrlResultDTO; import com.epmet.resi.group.dto.topic.result.MemberRelationBetweenGroupAndGridResultDTO; import com.epmet.resi.group.dto.topic.result.TopicBelongGroupResultDTO; import com.epmet.resi.group.dto.topic.result.TopicVisitResultDTO; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.Arrays; import java.util.List; @@ -43,6 +52,7 @@ import java.util.Map; * @since v1.0.0 2020-12-18 */ @Service +@Slf4j public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl implements TopicShareLinkRecordService { @Autowired @@ -53,7 +63,10 @@ public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -212,10 +225,42 @@ public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl issueShareLinkInfo = issueClient.shareLinkInfo(param.getId()); + if(issueShareLinkInfo.success() && null != issueShareLinkInfo.getData()){ + String issueId = issueShareLinkInfo.getData().getIssueId(); + if(StringUtils.isNotBlank(issueId)){ + group = topicDao.selectGroupIdByIssueId(issueId); + } + } + } + if(StringUtils.isBlank(group)) throw new RenException("根据分享链接Id没有找到对应的组Id"); + String userId = param.getUserId(); + GroupMemeberOperationDTO applyRecord = groupMemeberOperationDao.selectLatestRecord(group, userId); + if(null != applyRecord && StringUtils.equals(ModuleConstant.GROUP_STATUS_UNDER_AUDITTING,applyRecord.getOperateStatus())){ + //under_auditing + relation.setAwaitAudit(true); + } + if(null != applyRecord && StringUtils.equals(ModuleConstant.AUDITING_OPERATION_APPROVAL,applyRecord.getOperateStatus())){ + //approved + relation.setInGroup(true); + relation.setInAnyGroup(true); + } + if(!relation.getInAnyGroup()) { + ResiGroupEntity groupEntity = groupDao.selectById(group); + if(null == groupEntity || StringUtils.isBlank(groupEntity.getGridId())) + throw new RenException("没有找到相应的组记录"); + List groups = resiGroupMemberDao.getGroupIdByUserIdAndGridId(groupEntity.getGridId(), userId, NumConstant.ONE_STR); + if(!CollectionUtils.isEmpty(groups)){ + relation.setInAnyGroup(true); + if(groups.contains(group)){ + relation.setInGroup(true); + log.error("查出用户{}是组{}中成员,但是没有对应的入群记录",param.getUserId(),group); + } + } } - return null; + return relation; } } \ No newline at end of file