From 795a159078ca3a456c7e6ad5f752b1ffb044f10c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 22 Apr 2021 15:39:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E5=8E=86=E5=8F=B2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=9C=AA=E5=AE=8C=E5=BE=85?= =?UTF-8?q?=E7=BB=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../topic/form/GetPastTopicListV2FormDTO.java | 5 -- .../result/GetPastTopicListV2ResultDTO.java | 4 ++ .../modules/group/dao/GroupMessageDao.java | 11 ++++ .../epmet/modules/group/dao/ResiGroupDao.java | 9 +++ .../service/impl/ResiTopicServiceImpl.java | 43 +++++++++++++- .../epmet/modules/utils/ModuleConstant.java | 5 ++ .../mapper/group/GroupMessageDao.xml | 10 ++++ .../resources/mapper/group/ResiGroupDao.xml | 59 +++++++++++++++++++ 8 files changed, 140 insertions(+), 6 deletions(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetPastTopicListV2FormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetPastTopicListV2FormDTO.java index ad41e9bf81..4c66b02c47 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetPastTopicListV2FormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetPastTopicListV2FormDTO.java @@ -18,11 +18,6 @@ public class GetPastTopicListV2FormDTO implements Serializable { public interface GetPastTopicListV2Form{} - /** - * null默认查询讨论中、已关闭,dicussing讨论中,closed关闭 - */ - private String status; - @NotBlank(message = "小组ID不能为空",groups = GetPastTopicListV2Form.class) private String groupId; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetPastTopicListV2ResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetPastTopicListV2ResultDTO.java index fcc28ddec8..d0dbe33963 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetPastTopicListV2ResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetPastTopicListV2ResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.resi.group.dto.topic.result; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -74,4 +75,7 @@ public class GetPastTopicListV2ResultDTO implements Serializable { * 徽章Url集合 */ private List badgeList; + + @JsonIgnore + private String userId; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupMessageDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupMessageDao.java index a65949e227..5cd1b0c0a3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupMessageDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupMessageDao.java @@ -20,6 +20,9 @@ package com.epmet.modules.group.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.group.entity.GroupMessageEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 组内消息(话题、通知、活动)记录表 @@ -31,4 +34,12 @@ import org.apache.ibatis.annotations.Mapper; public interface GroupMessageDao extends BaseDao { GroupMessageEntity selectByMessageId(String messageId); + + /** + * @Description 按条件获取分页后的ID + * @Param groupId + * @author zxc + * @date 2021/4/22 下午2:37 + */ + List selectNeedIds(@Param("groupId") String groupId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 928e039190..9429897f97 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -25,6 +25,7 @@ import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.notice.result.UnReadListResultDTO; +import com.epmet.resi.group.dto.topic.result.GetPastTopicListV2ResultDTO; import com.epmet.resi.group.dto.topic.result.LatestTenResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -295,4 +296,12 @@ public interface ResiGroupDao extends BaseDao { * @date 2021/4/21 下午5:08 */ List selectUnReadInfos(@Param("ids")List ids); + + /** + * @Description 根据IDs查询 topic,act,notice信息 + * @Param ids + * @author zxc + * @date 2021/4/22 下午2:59 + */ + List getPastTopicListV2ByIds(@Param("ids")List ids); } 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 e08ae50e7f..785545178d 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 @@ -57,6 +57,7 @@ import com.epmet.modules.constant.WxmpSubscribeConstant; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovIssueFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; +import com.epmet.modules.group.dao.GroupMessageDao; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupStatisticalDao; import com.epmet.modules.group.entity.ResiGroupEntity; @@ -183,6 +184,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl getPastTopicListV2(GetPastTopicListV2FormDTO formDTO) { - return null; + PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> groupMessageDao.selectNeedIds(formDTO.getGroupId())); + List ids = pageInfo.getList(); + if (CollectionUtils.isEmpty(ids)){ + return new ArrayList<>(); + } + // 根据IDs查询 topic,act,notice信息 + List infos = resiGroupDao.getPastTopicListV2ByIds(ids); + if (CollectionUtils.isEmpty(infos)){ + return new ArrayList<>(); + } + ResiGroupEntity resiGroup = resiGroupDao.selectById(formDTO.getGroupId()); + List userIds = infos.stream().map(m -> m.getUserId()).collect(Collectors.toList()); + // 用户信息 + List userInfos = this.disPoseUserInfo(resiGroup.getGroupType(), userIds); + // 各字段赋值 + infos.forEach(i -> { + // 用户头像,姓名赋值 + if (!CollectionUtils.isEmpty(userInfos)){ + userInfos.forEach(u -> { + if (i.getUserId().equals(u.getUserId())){ + i.setReleaseUserName(u.getReleaseUserName()); + i.setReleaseUserHeadPhoto(u.getReleaseUserHeadPhoto()); + } + }); + } + // 是否是本人赋值 + i.setReleaseUserFlag(formDTO.getUserId().equals(i.getUserId())); + // 是否转议题赋值 + i.setShiftIssueFlag(StringUtils.isNotEmpty(i.getIssueId())); + if (i.getReleaseUserFlag()==true){ + // 如果此贴是自己发布的,肯定是已读 + i.setReadOrUnRead(ModuleConstant.READ_FLAG_YES); + }else { + // TODO 不是自己发布的 + + } + }); + return infos; } /** diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index fa0f11c3c1..e22a1b766a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java @@ -397,4 +397,9 @@ public interface ModuleConstant extends Constant { String GET_USER_INFO_ERR = "查询用户信息失败了"; + /** + * 已读 + */ + String READ_FLAG_YES = "read"; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupMessageDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupMessageDao.xml index 1734736f66..00cef75da1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupMessageDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupMessageDao.xml @@ -9,4 +9,14 @@ AND gm.MESSAGE_ID=#{messageId} + + + \ No newline at end of file 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 ea0dd3fac9..d8859c6133 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 @@ -767,4 +767,63 @@ )temp + + +