From d283aba972a5d34721b078b841986c1bf94e7e3a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Dec 2020 16:59:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E4=BA=AB=E8=AF=9D=E9=A2=98id=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/constant/TopicShareConstant.java | 2 + .../dto/topic/form/TopicVisitFormDTO.java | 29 +++++++++ .../dto/topic/result/TopicVisitResultDTO.java | 50 ++++++++++++++ .../member/dao/GroupMemeberOperationDao.java | 9 +++ .../member/dao/ResiGroupMemberDao.java | 9 +++ .../TopicShareLinkRecordController.java | 14 ++++ .../topic/dao/TopicShareLinkRecordDao.java | 3 +- .../service/TopicShareLinkRecordService.java | 11 ++++ .../impl/TopicShareLinkRecordServiceImpl.java | 65 +++++++++++++++++-- .../member/GroupMemeberOperationDao.xml | 11 ++++ .../mapper/member/ResiGroupMemberDao.xml | 11 ++++ .../mapper/topic/TopicShareLinkRecordDao.xml | 7 +- 12 files changed, 214 insertions(+), 7 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicVisitResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java index d6d1706f69..affeac1fe2 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java @@ -10,4 +10,6 @@ public interface TopicShareConstant { String NOT_EXIST_TOPIC_BELONG_GROUP = "未查询到话题所属小组......"; + String NOT_EXIST_INVITE_RECORD = "未查询到该邀请记录......"; + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java new file mode 100644 index 0000000000..2c54362c83 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午3:12 + */ +@Data +public class TopicVisitFormDTO implements Serializable { + + private static final long serialVersionUID = -7231684507046042401L; + + /** + * 当点击右上角三个点分享时,传参为topicId;点击页面内的分享时,传参为inviteId + */ + + /** + * 分享ID + */ + private String shareLinkId; + + /** + * 话题ID + */ + private String topicId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicVisitResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicVisitResultDTO.java new file mode 100644 index 0000000000..6191a5b6b9 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicVisitResultDTO.java @@ -0,0 +1,50 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午3:15 + */ +@Data +public class TopicVisitResultDTO implements Serializable { + + private static final long serialVersionUID = -8053248999188056579L; + + /** + * 是否存在入组待审核记录,true:存在,false:不存在 + */ + private Boolean awaitAudit; + + /** + * 是否在群内标志,已经在群内:true, 不在群内:false + */ + private Boolean inGroup; + + /** + * 小组ID + */ + private String groupId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 话题ID + */ + private String topicId; + + /** + * 客户ID + */ + private String customerId; + + /** + * 话题屏蔽状态,true:已屏蔽,false:未屏蔽 + */ + private Boolean shieldStatus; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java index 8d56bd49af..49ecf7fbbe 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java @@ -50,4 +50,13 @@ public interface GroupMemeberOperationDao extends BaseDao { * @date 2020.05.26 14:22 **/ List getGroupIdByUserIdAndGridId(@Param("gridId")String gridId,@Param("userId")String userId,@Param("roleFlag")String roleFlag); + + /** + * @Description 校验此人是不是在组内 + * @Param userId + * @Param groupId + * @author zxc + * @date 2020/12/18 下午4:33 + */ + Integer checkUserInGroup(@Param("userId")String userId,@Param("groupId")String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java index 1597099f55..64ce18e876 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java @@ -13,8 +13,10 @@ import com.epmet.modules.topic.service.TopicShareLinkRecordService; 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.TopicBelongGroupFormDTO; +import com.epmet.resi.group.dto.topic.form.TopicVisitFormDTO; import com.epmet.resi.group.dto.topic.result.CreateUrlResultDTO; import com.epmet.resi.group.dto.topic.result.TopicBelongGroupResultDTO; +import com.epmet.resi.group.dto.topic.result.TopicVisitResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -93,4 +95,16 @@ public class TopicShareLinkRecordController { return new Result().ok(topicShareLinkRecordService.selectTopicBelongGroup(formDTO)); } + /** + * @Description 分享话题id获取信息 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/18 下午3:34 + */ + @PostMapping("visit") + public Result topicVisit(@RequestBody TopicVisitFormDTO formDTO,@LoginUser TokenDto tokenDto){ + return new Result().ok(topicShareLinkRecordService.topicVisit(formDTO,tokenDto)); + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java index e84f6ff8e2..1f3a2ea96e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java @@ -2,6 +2,7 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; +import com.epmet.resi.group.dto.topic.result.TopicVisitResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -20,7 +21,7 @@ public interface TopicShareLinkRecordDao extends BaseDao implements TopicShareLinkRecordService { + @Autowired + private TopicShareLinkVisitRecordDao visitRecordDao; + @Autowired + private ResiGroupMemberDao resiGroupMemberDao; + @Autowired + private GroupMemeberOperationDao groupMemeberOperationDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -100,7 +115,7 @@ public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO){ + result.setAwaitAudit(false); + result.setInGroup(true); + }else { + result.setInGroup(false); + Integer awaitAudit = groupMemeberOperationDao.checkAwaitAudit(tokenDto.getUserId(), result.getGroupId()); + result.setAwaitAudit(awaitAudit > NumConstant.ZERO ? true : false); + } + return result; } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml index 0205d7e5c5..c47f80f4d3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml @@ -28,4 +28,15 @@ gmo.CREATED_TIME DESC LIMIT 1 + + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml index f125ebb551..92408b540b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml @@ -154,4 +154,15 @@ + + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml index 06f89b0426..cd75277141 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml @@ -4,11 +4,13 @@ - SELECT + rt.id AS topicId, rt.GROUP_ID, rg.GRID_ID, - rg.CUSTOMER_ID + rg.CUSTOMER_ID, + (CASE WHEN rt.`STATUS` = 'hidden' THEN TRUE ELSE FALSE END ) AS shieldStatus FROM resi_topic rt LEFT JOIN resi_group rg ON rg.ID = rt.GROUP_ID WHERE rt.DEL_FLAG = '0' @@ -25,4 +27,5 @@ AND SHARE_USER_ID = #{userId} AND TOPIC_ID = #{topicId} + \ No newline at end of file