From 0e25b27371a9e098623530c823a58a7346fec7b9 Mon Sep 17 00:00:00 2001 From: wangchao Date: Sat, 11 Apr 2020 15:23:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E8=AE=BA=E5=88=97=E8=A1=A8=E3=80=81?= =?UTF-8?q?=E8=AF=9D=E9=A2=98=E5=88=97=E8=A1=A8=E6=98=BE=E7=A4=BA=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=88=B0=E5=88=86=E9=92=9F=EF=BC=8C=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96=EF=BC=8C=E5=B1=8F=E8=94=BD?= =?UTF-8?q?=E8=AF=9D=E9=A2=98=E4=B8=8E=E8=A7=A3=E9=99=A4=E5=B1=8F=E8=94=BD?= =?UTF-8?q?=E5=AF=B9=E7=BE=A4=E7=BB=84=E7=BB=9F=E8=AE=A1=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E7=9B=B8=E5=BA=94=E7=9A=84=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi/group/constant/TopicConstant.java | 2 +- .../comment/result/ResiCommentResultDTO.java | 8 +- .../dto/group/ResiGroupInfoRedisDTO.java | 65 +++++++++++++++++ .../ResiGroupStatisticalInfoRedisDTO.java | 52 +++++++++++++ .../member/ResiGroupMemberInfoRedisDTO.java | 48 ++++++++++++ .../result/ResiTopicDetailResultDTO.java | 4 - .../topic/result/ResiTopicInfoResultDTO.java | 5 +- .../impl/ResiTopicCommentServiceImpl.java | 49 ++++++++----- .../service/impl/ResiTopicServiceImpl.java | 73 +++++++++++++++++-- .../epmet/modules/utils/ModuleConstant.java | 17 +++-- 10 files changed, 277 insertions(+), 46 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalInfoRedisDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java index 3c09f65e7b..0097751804 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java @@ -56,7 +56,7 @@ public interface TopicConstant { /** * 构造queryWrapper 创建日期列名 * */ - String CREATED_DATE = "CREATED_TIME"; + String CREATED_TIME = "CREATED_TIME"; /** * 构造queryWrapper 小组Id diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java index f73e148df4..2a2f287460 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java @@ -1,10 +1,10 @@ package com.epmet.resi.group.dto.comment.result; import com.alibaba.fastjson.annotation.JSONField; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @Description @@ -43,10 +43,10 @@ public class ResiCommentResultDTO implements Serializable { private String userId; /** - * 评论时间 yyyy-MM-dd HH:mm:ss + * 评论时间 yyyy-MM-dd HH:mm * */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") - private String commentTime; + @JSONField(format="yyyy-MM-dd HH:mm") + private Date commentTime; /** * 评论状态 diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java new file mode 100644 index 0000000000..e777be4ed3 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java @@ -0,0 +1,65 @@ +package com.epmet.resi.group.dto.group; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 组信息缓存对象 + * @ClassName ResiGroupInfoRedisDTO + * @Author wangc + * @date 2020.04.11 09:51 + */ +@Data +public class ResiGroupInfoRedisDTO implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * 小组Id + * */ + private String groupId; + + /** + * 用户头像 + * */ + private String groupHeadPhoto; + + /** + * 组名称 + * */ + private String groupName; + + /** + * 组介绍 + * */ + private String groupIntroduction; + + /** + * 客户Id + * */ + private String customerId; + + /** + * 网格Id + * */ + private String gridId; + + /** + * 组状态 + * */ + private String groupState; + + /** + * 最新话题发布时间 + * */ + private String latestTopicPublishDate; + + /** + * 组统计嘻嘻你系 + * */ + private ResiGroupStatisticalInfoRedisDTO groupStatisticalInfo; + + + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalInfoRedisDTO.java new file mode 100644 index 0000000000..d2a0db916d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalInfoRedisDTO.java @@ -0,0 +1,52 @@ +package com.epmet.resi.group.dto.group; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 组数据统计信息缓存对象 + * @ClassName ResiGroupStatisticalInfoRedisDTO + * @Author wangc + * @date 2020.04.11 10:58 + */ +@Data +public class ResiGroupStatisticalInfoRedisDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 统计Id + * */ + private String id; + + /** + * 总成员数 + * */ + private Integer totalMembers; + + /** + *总话题数 + * */ + private Integer totalTopics; + + /** + * 总议题数 + * */ + private Integer totalIssues; + + /** + * 党员总数 + * */ + private Integer totalPartyMembers; + + /** + * 热心居民总数 + * */ + private Integer totalEarnestMembers ; + + /** + * 注册居民总数 + * */ + private Integer totalNormalMembers; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java new file mode 100644 index 0000000000..3e5282fb3d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java @@ -0,0 +1,48 @@ +package com.epmet.resi.group.dto.member; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 组成员信息缓存对象 + * @ClassName ResiGroupMemberInfoRedisDTO + * @Author wangc + * @date 2020.04.11 09:52 + */ +@Data +public class ResiGroupMemberInfoRedisDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 用户Id + * */ + private String userId; + + /** + * 用户头像 + * */ + private String userHeadPhoto; + + /** + * 用户显示昵称 + * */ + private String userShowName; + + /** + * 组长标识 + * */ + private String groupLeaderFlag; + + /** + * 进群方式 + * */ + private String enterGroupType; + + /** + * 成员状态 + * */ + private String memberStatus; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java index 2efb580178..1a41c1afd0 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java @@ -1,7 +1,5 @@ package com.epmet.resi.group.dto.topic.result; -import com.alibaba.fastjson.annotation.JSONField; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; @@ -36,8 +34,6 @@ public class ResiTopicDetailResultDTO implements Serializable { /** * 发布时间 yyyy-MM-dd HH:mm * */ - @JSONField(format="yyyy-MM-dd HH:mm") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private String releaseTime; /** diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java index da3912ce18..278a75e45e 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java @@ -1,10 +1,10 @@ package com.epmet.resi.group.dto.topic.result; import com.alibaba.fastjson.annotation.JSONField; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @Description 查看历史话题返回对象 @@ -41,8 +41,7 @@ public class ResiTopicInfoResultDTO implements Serializable{ * 发布时间 yyyy-MM-dd HH:mm * */ @JSONField(format="yyyy-MM-dd HH:mm") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") - private String releaseTime; + private Date releaseTime; /** * 话题内容 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java index 3f6e58f030..bb87af2141 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java @@ -44,8 +44,9 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -73,6 +74,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -139,7 +142,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl TopicConstant.MAX_NUMBER_OF_COMMENT){ - + logger.warn(ModuleConstant.COMMENT_NUMBER_OF_WORDS_EXCEEDED); return new Result().error(ModuleConstant.COMMENT_NUMBER_OF_WORDS_EXCEEDED); } ResiTopicCommentEntity comment = ConvertUtils.sourceToTarget(resiCommentFormDTO,ResiTopicCommentEntity.class); @@ -186,25 +193,27 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl 0) { List userIdList = new ArrayList<>(); - for (ResiCommentResultDTO comment : comments) { - userIdList.add(comment.getUserId()); - } - UserResiInfoListFormDTO formDTO = new UserResiInfoListFormDTO(); - formDTO.setUserIdList(userIdList); - Result> userResiInfoDTOListResult = epmetUserFeignClient.getUserResiInfoList(formDTO); - if (userResiInfoDTOListResult.success() && null != userResiInfoDTOListResult.getData()) { - if (userResiInfoDTOListResult.getData().size() > 0) { - for (UserResiInfoResultDTO resiUser : userResiInfoDTOListResult.getData()) { - for (ResiCommentResultDTO comment : comments) { - if (StringUtils.equals(comment.getUserId(), resiUser.getUserId())) { - comment.setCommentUserHeadPhoto(resiUser.getHeadPhoto()); - comment.setCommentUserName(resiUser.getShowName()); - continue; - } - } + for (ResiCommentResultDTO comment : comments) { + userIdList.add(comment.getUserId()); } + UserResiInfoListFormDTO formDTO = new UserResiInfoListFormDTO(); + formDTO.setUserIdList(userIdList); + Result> userResiInfoDTOListResult = epmetUserFeignClient.getUserResiInfoList(formDTO); + if (userResiInfoDTOListResult.success() && null != userResiInfoDTOListResult.getData()) { + if (userResiInfoDTOListResult.getData().size() > 0) { + for (UserResiInfoResultDTO resiUser : userResiInfoDTOListResult.getData()) { + for (ResiCommentResultDTO comment : comments) { + if (StringUtils.equals(comment.getUserId(), resiUser.getUserId())) { + comment.setCommentUserHeadPhoto(resiUser.getHeadPhoto()); + comment.setCommentUserName(resiUser.getShowName()); + continue; + } + } + } } - } + }else{ + logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND); + } } return new Result>().ok(comments); 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 4e7096910c..fd64354091 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 @@ -17,6 +17,7 @@ package com.epmet.modules.topic.service.impl; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -50,13 +51,15 @@ import com.epmet.resi.group.constant.MemberStateConstant; import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; - import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.bouncycastle.math.raw.Mod; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -100,6 +103,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl page(Map params) { @@ -190,6 +194,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl 0){ @@ -199,7 +204,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl statistical = resiGroupStatisticalDao.selectList(wrapper); if(null != statistical && statistical.size() >= NumConstant.ONE){ if(statistical.size() != NumConstant.ONE){ + logger.warn(ModuleConstant.GROUP_STASTICAL_NOT_SINGLE); return new Result().error(ModuleConstant.GROUP_STASTICAL_NOT_SINGLE); }else{ ResiGroupStatisticalEntity statistical2Update = new ResiGroupStatisticalEntity(); @@ -229,6 +235,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl statisticalWrapper = new QueryWrapper<>(); + statisticalWrapper.eq(TopicConstant.RESI_GROUP_ID,topic.getGroupId()); + statisticalWrapper.eq(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR); + ResiGroupStatisticalEntity statistical = resiGroupStatisticalDao.selectOne(statisticalWrapper); + if(null != statistical && StringUtils.isNotBlank(statistical.getId()) && StringUtils.isNotBlank(statistical.getResiGroupId())){ + ResiGroupStatisticalEntity statistical2Update = new ResiGroupStatisticalEntity(); + statistical2Update.setId(statistical.getId()); + statistical2Update.setTotalTopics( + null == statistical.getTotalTopics() || statistical.getTotalTopics() == 0 ? 0 : statistical.getTotalTopics() - NumConstant.ONE + ); + resiGroupStatisticalDao.updateById(statistical2Update); + } + return new Result(); } @@ -391,6 +412,18 @@ public class ResiTopicServiceImpl extends BaseServiceImpl statisticalWrapper = new QueryWrapper<>(); + statisticalWrapper.eq(TopicConstant.RESI_GROUP_ID,topic.getGroupId()); + statisticalWrapper.eq(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR); + ResiGroupStatisticalEntity statistical = resiGroupStatisticalDao.selectOne(statisticalWrapper); + if(null != statistical && StringUtils.isNotBlank(statistical.getId())){ + ResiGroupStatisticalEntity statistical2Update = new ResiGroupStatisticalEntity(); + statistical2Update.setId(statistical.getId()); + statistical2Update.setTotalTopics( + statistical.getTotalTopics() == null ? 0 : statistical.getTotalTopics() + topicIds.size() + ); + resiGroupStatisticalDao.updateById(statistical2Update); + } return new Result(); } @@ -442,14 +475,10 @@ public class ResiTopicServiceImpl extends BaseServiceImpl getTopicDetail(TokenDto tokenDto, String topicId) { - - if(StringUtils.isBlank(topicId)){ - return new Result().error(); - } - //1.获取话题基本信息 ResiTopicEntity topicDetail = baseDao.selectById(topicId); if(null == topicDetail || !StringUtils.equals(topicDetail.getId(),topicId)){ + logger.warn(ModuleConstant.NO_SUCH_TOPIC); return new Result().error(ModuleConstant.NO_SUCH_TOPIC); } ResiTopicDetailResultDTO resultDTO = new ResiTopicDetailResultDTO(); @@ -483,7 +512,8 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> getHiddenTopics(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + //1.查询屏蔽话题列表 topicPageFormDTO.setUserId(tokenDto.getUserId()); topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); @@ -510,7 +541,17 @@ public class ResiTopicServiceImpl extends BaseServiceImpl 0) { + List userIdList = new ArrayList<>(); + for (ResiTopicInfoResultDTO topic : hiddenTopics) { + userIdList.add(topic.getUserId()); + } + UserResiInfoListFormDTO formDTO = new UserResiInfoListFormDTO(); + formDTO.setUserIdList(userIdList); + Result> userResiInfoDTOListResult = epmetUserFeignClient.getUserResiInfoList(formDTO); + setUserInfo(userResiInfoDTOListResult, hiddenTopics); + } return new Result>().ok(hiddenTopics); } @@ -526,15 +567,18 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> + * @Param List + * @return void + * @Author wangc + * @Date 2020.04.10 17:47 + **/ public void setUserInfo(Result> userResiInfoDTOListResult,List topics){ if(userResiInfoDTOListResult.success() && null != userResiInfoDTOListResult.getData()){ if(userResiInfoDTOListResult.getData().size() > 0){ @@ -581,6 +636,8 @@ public class ResiTopicServiceImpl extends BaseServiceImpl