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 bdb266c0cb..e6b56ab154 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; @@ -55,13 +56,15 @@ import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO; 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; @@ -108,6 +111,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl page(Map params) { @@ -198,6 +202,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl 0){ @@ -207,7 +212,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(); @@ -237,6 +243,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(); } @@ -399,6 +420,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(); } @@ -450,14 +483,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(); @@ -491,7 +520,8 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> getHiddenTopics(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + //1.查询屏蔽话题列表 topicPageFormDTO.setUserId(tokenDto.getUserId()); topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); @@ -518,7 +549,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); } @@ -534,15 +575,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){ @@ -589,6 +644,8 @@ public class ResiTopicServiceImpl extends BaseServiceImpl