From 9329921568abccb3ed0540421c9c25cba632b0c1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 15:25:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=B7=B2=E8=AF=BB=E6=9C=AA=E8=AF=BB?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=96=B0=E5=A2=9E=E6=B7=BB=E5=8A=A0=E7=BB=84?= =?UTF-8?q?=E9=95=BF=E5=B7=B2=E8=AF=BB=E8=AE=B0=E5=BD=95=EF=BC=8C=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=88=97=E8=A1=A8=E4=B8=8D=E6=9F=A5=E8=AF=A2=E7=BB=84?= =?UTF-8?q?=E9=95=BF=E5=B7=B2=E8=AF=BB=E6=9C=AA=E8=AF=BB=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/modules/notice/dao/NoticeDao.java | 8 ++++- .../impl/NoticeReafdRecordServiceImpl.java | 6 ++++ .../service/impl/NoticeServiceImpl.java | 36 ++++++++++--------- .../resources/mapper/notice/NoticeDao.xml | 14 ++++++++ 4 files changed, 47 insertions(+), 17 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/dao/NoticeDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/dao/NoticeDao.java index 2cab9440db..4ee6056a2b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/dao/NoticeDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/dao/NoticeDao.java @@ -20,6 +20,7 @@ package com.epmet.modules.notice.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.notice.entity.NoticeEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 小组通知表 @@ -29,5 +30,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface NoticeDao extends BaseDao { - + + /** + * @Author sun + * @Description 查询通知对应的小组的组长Id + **/ + String selectNoticeGroupLeader(@Param("noticeId") String noticeId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeReafdRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeReafdRecordServiceImpl.java index 11507e85ba..e45a250a0d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeReafdRecordServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeReafdRecordServiceImpl.java @@ -28,6 +28,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.modules.notice.dao.NoticeDao; import com.epmet.modules.notice.dao.NoticeReafdRecordDao; import com.epmet.modules.notice.entity.NoticeReafdRecordEntity; import com.epmet.modules.notice.redis.NoticeReafdRecordRedis; @@ -60,6 +61,8 @@ public class NoticeReafdRecordServiceImpl extends BaseServiceImpl page(Map params) { @@ -124,6 +127,9 @@ public class NoticeReafdRecordServiceImpl extends BaseServiceImpl readList = new ArrayList<>(); List unReadList = new ArrayList<>(); + //0.查询通知对应的小组的组长Id + String leaderId = noticeDao.selectNoticeGroupLeader(formDTO.getNoticeId()); + //1.根据通知Id查询组成员已读未读数据 List list = baseDao.getByNoticeId(formDTO.getNoticeId()); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeServiceImpl.java index 8ef6c3dcc4..5b7cd69be3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeServiceImpl.java @@ -275,16 +275,18 @@ public class NoticeServiceImpl extends BaseServiceImpl //6.通知已读未读表初始数据 List reafdRecordList = new ArrayList<>(); memberList.forEach(m -> { - if (!"".equals(m.getGroupLeaderFlag())) { - NoticeReafdRecordEntity reafdRecord = new NoticeReafdRecordEntity(); - reafdRecord.setCustomerId(resultDTO.getCustomerId()); - reafdRecord.setGridId(groupEntity.getGridId()); - reafdRecord.setGroupId(formDTO.getGroupId()); - reafdRecord.setNoticeId(entity.getId()); - reafdRecord.setUserId(m.getCustomerUserId()); + NoticeReafdRecordEntity reafdRecord = new NoticeReafdRecordEntity(); + reafdRecord.setCustomerId(resultDTO.getCustomerId()); + reafdRecord.setGridId(groupEntity.getGridId()); + reafdRecord.setGroupId(formDTO.getGroupId()); + reafdRecord.setNoticeId(entity.getId()); + reafdRecord.setUserId(m.getCustomerUserId()); + if ("leader".equals(m.getGroupLeaderFlag())) { + reafdRecord.setReadFlag(ReadFlagConstant.READ); + }else { reafdRecord.setReadFlag(ReadFlagConstant.UN_READ); - reafdRecordList.add(reafdRecord); } + reafdRecordList.add(reafdRecord); }); if (reafdRecordList.size() > NumConstant.ZERO) { noticeReafdRecordService.insertBatch(reafdRecordList); @@ -394,16 +396,18 @@ public class NoticeServiceImpl extends BaseServiceImpl noticeReafdRecordDao.delByNoticeId(formDTO.getNoticeId()); List reafdRecordList = new ArrayList<>(); memberList.forEach(m -> { - if (!"".equals(m.getGroupLeaderFlag())) { - NoticeReafdRecordEntity reafdRecord = new NoticeReafdRecordEntity(); - reafdRecord.setCustomerId(entity.getCustomerId()); - reafdRecord.setGridId(entity.getGridId()); - reafdRecord.setGroupId(entity.getGroupId()); - reafdRecord.setNoticeId(entity.getId()); - reafdRecord.setUserId(m.getCustomerUserId()); + NoticeReafdRecordEntity reafdRecord = new NoticeReafdRecordEntity(); + reafdRecord.setCustomerId(entity.getCustomerId()); + reafdRecord.setGridId(entity.getGridId()); + reafdRecord.setGroupId(entity.getGroupId()); + reafdRecord.setNoticeId(entity.getId()); + reafdRecord.setUserId(m.getCustomerUserId()); + if ("leader".equals(m.getGroupLeaderFlag())) { + reafdRecord.setReadFlag(ReadFlagConstant.READ); + }else { reafdRecord.setReadFlag(ReadFlagConstant.UN_READ); - reafdRecordList.add(reafdRecord); } + reafdRecordList.add(reafdRecord); }); if (reafdRecordList.size() > NumConstant.ZERO) { noticeReafdRecordService.insertBatch(reafdRecordList); diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/notice/NoticeDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/notice/NoticeDao.xml index 7f7dc8e127..332dfa0b5c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/notice/NoticeDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/notice/NoticeDao.xml @@ -3,5 +3,19 @@ + \ No newline at end of file From 2d93f0693626a9b93fe2c33a05d1d7fd1ed1ec95 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 20 Apr 2021 15:57:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=BB=84=E5=86=85?= =?UTF-8?q?=E8=BF=91=E5=8D=81=E6=9D=A1=E6=95=B0=E6=8D=AE=E6=A1=86=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/topic/form/GetLatestV2FormDTO.java | 24 ++++ .../topic/result/GetLatestV2ResultDTO.java | 47 ++++++++ .../dto/topic/result/LatestTenResultDTO.java | 104 ++++++++++++++++++ .../topic/controller/ResiTopicController.java | 14 +++ .../topic/service/ResiTopicService.java | 9 ++ .../service/impl/ResiTopicServiceImpl.java | 12 ++ 6 files changed, 210 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetLatestV2FormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetLatestV2ResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/LatestTenResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetLatestV2FormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetLatestV2FormDTO.java new file mode 100644 index 0000000000..19406e5a62 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetLatestV2FormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/4/20 下午2:23 + * @DESC + */ +@Data +public class GetLatestV2FormDTO implements Serializable { + + private static final long serialVersionUID = -5212709032157867124L; + + public interface GetLatestV2Form{} + + @NotBlank(message = "小组ID不能为空",groups = GetLatestV2Form.class) + private String groupId; + + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetLatestV2ResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetLatestV2ResultDTO.java new file mode 100644 index 0000000000..ee37afd1bf --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetLatestV2ResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/4/20 下午2:34 + * @DESC + */ +@Data +public class GetLatestV2ResultDTO implements Serializable { + + private static final long serialVersionUID = 1386600583326358070L; + + /** + * 当前人员组内角色(member成员,leader群主) + */ + private String userRole; + + /** + * 小组类型(ordinary:楼院小组 branch:支部小组) + */ + private String groupType; + + /** + * 是否显示通知按钮 + */ + private String noticeBut; + + /** + * 是否显示活动按钮 + */ + private String actBut; + + /** + * 是否存在未读消息 + */ + private Boolean unReadNews; + + /** + * 近十条数据 + */ + private List list; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/LatestTenResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/LatestTenResultDTO.java new file mode 100644 index 0000000000..0f8d7c3222 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/LatestTenResultDTO.java @@ -0,0 +1,104 @@ +package com.epmet.resi.group.dto.topic.result; + +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/4/20 下午2:45 + * @DESC + */ +@Data +public class LatestTenResultDTO implements Serializable { + + private static final long serialVersionUID = -8447212650446365613L; + + /** + * 话题、通知、活动Id + */ + private String id; + + /** + * 话题、通知、活动Id发布人的id + */ + private String userId; + + /** + * 发布者的全称(街道-姓氏先生/女士)【专项组显示真实名】 + */ + private String releaseUserName; + + /** + * 话题发布者的头像Url + */ + private String releaseUserHeadPhoto; + + /** + * 发布时间yyyy-MM-dd HH:mm + */ + private String releaseTimed; + + /** + * 内容 + */ + private String content; + + /** + * 话题状态(discussing进行中、closed已关闭) + */ + private String status; + + /** + * 是否本人 + */ + private String releaseUserFlag; + + /** + * 如果有图片,后台只返回第一张,没有图片此列为空 + */ + private String firstPhoto; + + /** + * 议题id + */ + private String issueId; + + /** + * 是否被转为议题true,false + */ + private Boolean shiftIssueFlag; + + /** + * 数据类型(topic:话题 notice:通知 act:活动) + */ + private String contentType; + + /** + * 本人已读未读状态(read已读 unread未读) + */ + private String readOrUnRead; + + /** + * 通知或活动未读人员数 + */ + private Integer unReadCount; + + public LatestTenResultDTO() { + this.id = ""; + this.userId = ""; + this.releaseUserName = ""; + this.releaseUserHeadPhoto = ""; + this.releaseTimed = ""; + this.content = ""; + this.status = ""; + this.releaseUserFlag = ""; + this.firstPhoto = ""; + this.issueId = ""; + this.shiftIssueFlag = false; + this.contentType = ""; + this.readOrUnRead = ""; + this.unReadCount = NumConstant.ZERO; + } +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 419f927f83..4e824c18ef 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -441,4 +441,18 @@ public class ResiTopicController { } return new Result<>(); } + + /** + * @Description 查询组内近十条数据 + * @Param tokenDto + * @Param formDTO + * @author zxc + * @date 2021/4/20 下午2:34 + */ + @PostMapping("getlatestv2") + public Result getLatestV2(@LoginUser TokenDto tokenDto,@RequestBody GetLatestV2FormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, GetLatestV2FormDTO.GetLatestV2Form.class); + formDTO.setUserId(tokenDto.getUserId()); + return new Result().ok(topicService.getLatestV2(formDTO)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index 20f234d9aa..48ba5166e5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -352,4 +352,13 @@ public interface ResiTopicService extends BaseService { void sendTopicPointEventByEventType(TopicEventFormDTO param); ResiTopicDTO queryTopicInfoByIssueId(String issueId); + + /** + * @Description 查询组内近十条数据 + * @Param tokenDto + * @Param formDTO + * @author zxc + * @date 2021/4/20 下午2:34 + */ + GetLatestV2ResultDTO getLatestV2(GetLatestV2FormDTO formDTO); } 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 36199596a1..f3a4bb6f71 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 @@ -2181,6 +2181,18 @@ public class ResiTopicServiceImpl extends BaseServiceImpl