diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 3fe7b82bca..c3f44bbc57 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.*; * @dscription * @date 2020/3/19 9:32 */ -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, path="/epmetuser", fallback = EpmetUserFeignClientFallback.class,url = "http://localhost:8087") +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, path="/epmetuser", fallback = EpmetUserFeignClientFallback.class) public interface EpmetUserFeignClient { /** 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 6b88d61742..4910c2281b 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 @@ -31,7 +31,12 @@ public interface TopicConstant { /** * 关闭话题 * */ - String CLOSED = "CLOSED"; + String CLOSED = "closed"; + + /** + * 屏蔽话题 + * */ + String HIDDEN = "hidden"; /** * 本人发布 @@ -42,4 +47,19 @@ public interface TopicConstant { * 他人发布 * */ String PUBLISHED_BY_OTHER = "other"; + + /** + * 构造queryWrapper 话题Id列名 + * */ + String TOPIC_ID = "TOPIC_ID"; + + /** + * 构造queryWrapper 创建日期列名 + * */ + String CREATED_DATE = "CREATED_DATE"; + + /** + * 构造queryWrapper 逻辑删除标识列名 + * */ + String DEL_FLAG = "DEL_FLAG"; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/form/ResiQueryCommentFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/form/ResiQueryCommentFormDTO.java index b761f8c4fe..bed1a75b87 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/form/ResiQueryCommentFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/form/ResiQueryCommentFormDTO.java @@ -1,10 +1,36 @@ package com.epmet.resi.group.dto.comment.form; +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + /** * @Description - * @ClassName ResiCommentFormDTO + * @ClassName ResiQueryCommentFormDTO * @Author wangc * @date 2020.04.01 17:14 */ -public class ResiCommentFormDTO { +@Data +public class ResiQueryCommentFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 组Id + * */ + @NotBlank(message = "话题Id不能为空") + private String topicId; + + /** + * 请求页码 + * */ + @Min(1) + private int pageNo; + + /** + * 每页多少条数据 + * */ + private int pageSize = 20; } 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 dc37f30728..ce6ed8f1c2 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,52 @@ package com.epmet.resi.group.dto.comment.result; +import lombok.Data; + +import java.io.Serializable; + /** * @Description * @ClassName ResiCommentResultDTO * @Author wangc * @date 2020.04.01 17:07 */ -public class ResiCommentResultDTO { +@Data +public class ResiCommentResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评论Id + * */ + private String commentId; + + /** + * 评论内容 + * */ + private String commentContent; + + /** + * 评论者头像 + * */ + private String commentUserHeadPhoto; + + /** + * 评论者姓名 + * */ + private String commentUserName; + + /** + * 用户Id 评论者Id + * */ + private String userId; + + /** + * 评论时间 yyyy-MM-dd HH:mm:ss + * */ + private String commentTime; + + /** + * 评论状态 + * */ + private String commentStatus; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiPublishCommentFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiPublishCommentFormDTO.java index 5acbc61765..894364fe16 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiPublishCommentFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiPublishCommentFormDTO.java @@ -7,12 +7,12 @@ import java.io.Serializable; /** * @Description - * @ClassName ResiCommentFormDTO + * @ClassName ResiPublishCommentFormDTO * @Author wangc * @date 2020.03.31 17:32 */ @Data -public class ResiCommentFormDTO implements Serializable { +public class ResiPublishCommentFormDTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java index b3bf01b5d9..58853940ce 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java @@ -1,10 +1,30 @@ package com.epmet.resi.group.dto.topic.form; +import lombok.Data; + +import java.io.Serializable; + /** * @Description * @ClassName ResiTopicOperationFormDTO * @Author wangc * @date 2020.04.01 15:32 */ -public class ResiTopicOperationFormDTO { +@Data +public class ResiTopicOperationFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 话题Id + */ + private String topicId; + + /** + * 屏蔽原因 + */ + private String operateReason; + + + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPageFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPageFormDTO.java index fba7d2fcfa..13b1904122 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPageFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicPageFormDTO.java @@ -38,4 +38,9 @@ public class ResiTopicPageFormDTO implements Serializable{ * 搜索时可以带状态的查询,也可以不带 * */ private String status; + + /** + * 用户Id + * */ + private String userId; } 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 547448bdb8..6080016569 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,10 +1,49 @@ package com.epmet.resi.group.dto.topic.result; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + /** * @Description * @ClassName ResiTopicDetailResultDTO * @Author wangc * @date 2020.04.01 16:03 */ -public class ResiTopicDetailResultDTO { +@Data +public class ResiTopicDetailResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 话题Id + * */ + private String topicId; + + + /** + * 发布人名称 + * */ + private String releaseUserName; + + /** + * 发布人头像 + * */ + private String releaseUserHeadPhoto; + + /** + * 发布时间 yyyy-MM-dd HH:mm:ss + * */ + private String releaseTime; + + /** + * 话题内容 + * */ + private String topicContent; + + /** + * 图片访问地址 + * */ + private List topicImgs; + } 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 09b2cd4e85..2f0eda3b7b 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 @@ -21,7 +21,7 @@ public class ResiTopicInfoResultDTO implements Serializable{ private String topicId; /** - * 用户Id + * 用户Id 话题发布人 * */ private String userId; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java index 533b67db56..ae4c96d67c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java @@ -1,10 +1,57 @@ package com.epmet.modules.comment.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.modules.topic.service.ResiTopicCommentService; +import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; +import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; +import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + /** * @Description * @ClassName ResiCommentController * @Author wangc * @date 2020.04.01 18:00 */ +@RequestMapping("comment") +@RestController public class ResiCommentController { + + @Autowired + private ResiTopicCommentService commentService; + + /** + * @Description 对话题发表评论 + * @Param tokenDto + * @Param ResiPublishCommentFormDTO + * @return Result + * @Author wangc + * @Date 2020.04.01 18:06 + **/ + @RequestMapping("commenttopic") + public Result commentTopic(@LoginUser TokenDto tokenDto, ResiPublishCommentFormDTO publishCommentFormDTO){ + ValidatorUtils.validateEntity(publishCommentFormDTO); + return commentService.commentTopic(tokenDto,publishCommentFormDTO); + } + + /** + * @Description 获取某个话题的评论列表 + * @Param tokenDto + * @Param ResiQueryCommentFormDTO + * @return Result> + * @Author wangc + * @Date 2020.04.01 23:49 + **/ + @RequestMapping("getcommentlistoftopic") + public Result> getCommentListOfTopic(@LoginUser TokenDto tokenDto, ResiQueryCommentFormDTO queryCommentFormDTO){ + ValidatorUtils.validateEntity(queryCommentFormDTO); + return commentService.getCommentList(tokenDto,queryCommentFormDTO); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java index 56cd57c171..4ae87fce2f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java @@ -18,7 +18,7 @@ import java.util.List; * @Author yinzuomei * @Date 2020/3/16 14:48 */ -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallback.class ) +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallback.class) public interface EpmetUserFeignClient { /** 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 b9677d62a5..e40cda746f 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 @@ -3,11 +3,21 @@ package com.epmet.modules.topic.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.modules.topic.service.ResiTopicService; +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.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description * @ClassName ResiTopicController @@ -19,6 +29,9 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("topic") public class ResiTopicController { + @Autowired + ResiTopicService topicService; + /** * @Description 组内成员创建话题(身份校验 + 创建话题 + 增加话题记录) * @Param TokenDto.class @@ -30,9 +43,102 @@ public class ResiTopicController { @RequestMapping("createtopic") public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPublishFormDTO topicPublishFormDTO){ + ValidatorUtils.validateEntity(topicPublishFormDTO); + return topicService.createTopic(tokenDto,topicPublishFormDTO); + } + + /** + * @Description 获取话题详情 + * @Param tokenDto + * @Param String + * @return Result + * @Author wangc + * @Date 2020.04.01 23:48 + **/ + @RequestMapping("gettopicdetail") + public Result getTopicDetail(@LoginUser TokenDto tokenDto, @RequestParam("topicId")String topicId ){ + return topicService.getTopicDetail(tokenDto,topicId); + } + + /** + * @Description 查看历史话题(分页,允许状态筛选) + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return Result> + * @Author wangc + * @Date 2020.04.01 10:36 + **/ + @RequestMapping("getpasttopiclist") + public Result> getPastTopicList(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPageFormDTO topicPageFormDTO){ + ValidatorUtils.validateEntity(topicPageFormDTO); + return topicService.getPastTopicList(tokenDto,topicPageFormDTO); + } + + /** + * @Description 查看组内最近十条话题 + * @Param tokenDto + * @Param groupId + * @return Result> + * @Author wangc + * @Date 2020.04.02 00:01 + **/ + @RequestMapping("getlatesttentopic") + Result> getLatestTenTopics(TokenDto tokenDto,String groupId){ + return topicService.getLatestTenTopics(tokenDto,groupId); + } + + /** + * @Description 屏蔽话题 + * @Param tokenDto + * @Param ResiTopicHiddenFormDTO.class + * @return Result + * @Author wangc + * @Date 2020.04.01 12:38 + **/ + @RequestMapping("hidetopic") + Result hideTopic(TokenDto tokenDto,ResiTopicOperationFormDTO hiddenFormDTO){ + ValidatorUtils.validateEntity(hiddenFormDTO); + return topicService.hideTopic(tokenDto,hiddenFormDTO); + } + /** + * @Description 屏蔽话题列表查询 + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return List + * @Author wangc + * @Date 2020.04.01 16:45 + **/ + @RequestMapping("gethiddentopic") + Result> getHiddenTopic(TokenDto tokenDto,ResiTopicPageFormDTO topicPageFormDTO){ + ValidatorUtils.validateEntity(topicPageFormDTO); + return topicService.getHiddenTopics(tokenDto,topicPageFormDTO); + } - return new Result(); + /** + * @Description 批量取消屏蔽 + * @Param tokenDto + * @Param topicIds + * @return Result + * @Author wangc + * @Date 2020.04.01 14:17 + **/ + @RequestMapping("cancelhiddentopics") + Result cancelHiddenTopics(TokenDto tokenDto,List topicIds){ + return topicService.cancelHiddenTopics(tokenDto,topicIds); } + /** + * @Description 关闭话题 + * @Param tokenDto + * @Param ResiTopicOperationFormDTO.class + * @return Result.class + * @Author wangc + * @Date 2020.04.01 15:37 + **/ + @RequestMapping("closetopic") + Result closeTopic(TokenDto tokenDto,ResiTopicOperationFormDTO closeFormDTO){ + ValidatorUtils.validateEntity(closeFormDTO); + return topicService.closeTopic(tokenDto,closeFormDTO); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java index c68f3d87dd..c58c7e59db 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java @@ -33,5 +33,22 @@ import java.util.List; @Mapper public interface ResiTopicAttachmentDao extends BaseDao { - void insertBatch(List list); + /** + * @Description 批量插入 + * @Param + * @return + * @Author wangc + * @Date 2020.04.01 13:39 + **/ + int insertBatch(List list); + + /** + * @Description 重写Insert方法,不需要传CreatedDate UpdatedBy UpdatedDate DelFlag Revision + * @Param attachmentEntity + * @return int 受影响的行数 + * @Author wangc + * @Date 2020.04.01 13:40 + **/ + + int insertOne(ResiTopicAttachmentEntity attachmentEntity); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java index 2d72e71723..76ecd5dafd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java @@ -19,9 +19,13 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.modules.topic.entity.ResiTopicCommentEntity; +import com.epmet.modules.comment.entity.ResiTopicCommentEntity; +import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; +import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 话题评论表 * @@ -30,5 +34,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiTopicCommentDao extends BaseDao { - + + /** + * @Description 重写Insert方法,不需要传CreatedDate UpdatedBy UpdatedDate DelFlag Revision + * @Param commentEntity + * @return int + * @Author wangc + * @Date 2020.04.01 17:40 + **/ + int insertOne(ResiTopicCommentEntity commentEntity); + + /** + * @Description 得到某个话题的评论列表 分页 + * @Param ResiQueryCommentFormDTO + * @return Result> + * @Author wangc + * @Date 2020.04.01 17:15 + **/ + List getCommentList(ResiQueryCommentFormDTO queryCommentFormDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index 58524d80ae..bfb32a90ec 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -20,6 +20,7 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.ResiTopicEntity; +import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -36,14 +37,13 @@ import java.util.List; public interface ResiTopicDao extends BaseDao { /** - * @Description 自定义新增语句 + * @Description 重写Insert方法,不需要传CreatedDate UpdatedBy UpdatedDate DelFlag Revision * @Param ResiTopicEntity.class * @return int * @Author wangc * @Date 2020.04.01 09:39 **/ - @Override - int insert(ResiTopicEntity resiTopic); + int insertOne(ResiTopicEntity resiTopic); /** * @Description 查询该组内最近十条话题信息 @@ -52,5 +52,42 @@ public interface ResiTopicDao extends BaseDao { * @Author wangc * @Date 2020.04.01 09:40 **/ - List getLatestTenTopics(@Param("groupId")String groupId); + List getLatestTenTopics(@Param("groupId")String groupId,@Param("userId")String userId); + + /** + * @Description 查看历史话题(分页,允许状态筛选) + * @Param topicPageFormDTO + * @return List + * @Author wangc + * @Date 2020.04.01 11:08 + **/ + List getPastTopics(ResiTopicPageFormDTO topicPageFormDTO); + + /** + * @Description 修改话题 + * @Param ResiTopicEntity.class + * @return Result.class + * @Author wangc + * @Date 2020.04.01 13:08 + **/ + int update(ResiTopicEntity topicEntity); + + /** + * @Description 批量取消屏蔽操作 + * @Param List + * @Param updatedBy + * @return int + * @Author wangc + * @Date 2020.04.01 15:20 + **/ + int cancelHiddenOrCloseBatch(@Param("list")List ids,@Param("updatedBy")String updatedBy,@Param("status")String status); + + /** + * @Description 批量更新 + * @Param List + * @return int + * @Author wangc + * @Date 2020.04.01 15:21 + **/ + int updateBatch(List list); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java index 570f1c4b55..8c4b186b03 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java @@ -30,5 +30,14 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiTopicOperationDao extends BaseDao { - + + /** + * @Description 重写Insert方法,不需要传CreatedDate UpdatedBy UpdatedDate DelFlag Revision + * @Param topicOperationEntity + * @return int 受影响的行数 + * @Author wangc + * @Date 2020.04.01 13:45 + **/ + int insertOne(ResiTopicOperationEntity topicOperationEntity); + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicOperationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicOperationEntity.java index eac71fc663..8a9cb25de9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicOperationEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicOperationEntity.java @@ -48,4 +48,8 @@ public class ResiTopicOperationEntity extends BaseEpmetEntity { */ private String operationType; + /** + * 屏蔽理由(非必填) + * */ + private String operationReason; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java index f9058408cd..f0656d3d93 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java @@ -19,8 +19,13 @@ package com.epmet.modules.topic.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.modules.topic.entity.ResiTopicCommentEntity; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.modules.comment.entity.ResiTopicCommentEntity; +import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; +import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO; +import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO; import java.util.List; @@ -93,4 +98,25 @@ public interface ResiTopicCommentService extends BaseService> + * @Author wangc + * @Date 2020.04.01 17:15 + **/ + Result> getCommentList(TokenDto tokenDto,ResiQueryCommentFormDTO commentFormDTO); + } \ No newline at end of file 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 89e9136b62..6784cab2e3 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 @@ -23,9 +23,11 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.modules.topic.entity.ResiTopicEntity; import com.epmet.resi.group.dto.topic.ResiTopicDTO; -import com.epmet.resi.group.dto.topic.form.ResiCommentFormDTO; + +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; @@ -110,16 +112,6 @@ public interface ResiTopicService extends BaseService { **/ Result createTopic(TokenDto tokenDto, ResiTopicPublishFormDTO resiTopicPublishFormDTO); - /** - * @Description 评论话题 - * @Param tokenDto - * @Param resiCommentFormDTO - * @return Result - * @Author wangc - * @Date 2020.03.31 17:36 - **/ - Result commentTopic(TokenDto tokenDto, ResiCommentFormDTO resiCommentFormDTO); - /** * @Description 查看组内最近十条话题 * @Param tokenDto @@ -139,4 +131,54 @@ public interface ResiTopicService extends BaseService { * @Date 2020.04.01 10:36 **/ Result> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO); + + /** + * @Description 屏蔽话题 + * @Param tokenDto + * @Param ResiTopicHiddenFormDTO.class + * @return Result + * @Author wangc + * @Date 2020.04.01 12:38 + **/ + Result hideTopic(TokenDto tokenDto,ResiTopicOperationFormDTO hiddenFormDTO); + + /** + * @Description 批量取消屏蔽 + * @Param tokenDto + * @Param topicIds + * @return Result + * @Author wangc + * @Date 2020.04.01 14:17 + **/ + Result cancelHiddenTopics(TokenDto tokenDto,List topicIds); + + /** + * @Description 关闭话题 + * @Param tokenDto + * @Param ResiTopicOperationFormDTO.class + * @return Result.class + * @Author wangc + * @Date 2020.04.01 15:37 + **/ + Result closeTopic(TokenDto tokenDto,ResiTopicOperationFormDTO closeFormDTO); + + /** + * @Description 查看话题详情 + * @Param tokenDto + * @Param topicId + * @return ResiTopicDetailResultDTO + * @Author wangc + * @Date 2020.04.01 15:56 + **/ + Result getTopicDetail(TokenDto tokenDto, String topicId); + + /** + * @Description 屏蔽话题列表查询 + * @Param tokenDto + * @Param ResiTopicPageFormDTO.class + * @return List + * @Author wangc + * @Date 2020.04.01 16:45 + **/ + Result> getHiddenTopics(TokenDto tokenDto,ResiTopicPageFormDTO topicPageFormDTO); } \ No newline at end of file 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 aefdc798a0..1ec3799550 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 @@ -20,15 +20,28 @@ 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; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.modules.comment.entity.ResiTopicCommentEntity; +import com.epmet.modules.member.service.ResiGroupMemberService; import com.epmet.modules.topic.dao.ResiTopicCommentDao; -import com.epmet.modules.topic.entity.ResiTopicCommentEntity; import com.epmet.modules.topic.service.ResiTopicCommentService; +import com.epmet.modules.topic.service.ResiTopicService; +import com.epmet.resi.group.constant.MemberStateConstant; +import com.epmet.resi.group.constant.TopicConstant; +import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; +import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; +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 org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -45,7 +58,11 @@ import java.util.Map; @Service public class ResiTopicCommentServiceImpl extends BaseServiceImpl implements ResiTopicCommentService { + @Autowired + ResiTopicService resiTopicService; + @Autowired + ResiGroupMemberService resiGroupMemberService; @Override public PageData page(Map params) { @@ -99,4 +116,64 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl TopicConstant.MAX_NUMBER_OF_COMMENT){ + + return new Result().error(); + } + ResiTopicCommentEntity comment = ConvertUtils.sourceToTarget(resiCommentFormDTO,ResiTopicCommentEntity.class); + comment.setStatus(TopicConstant.PUBLISHMENT); + baseDao.insertOne(comment); + + return new Result(); + } + + /** + * @Description 得到某个话题的评论列表 分页 + * @Param tokenDto + * @Param ResiQueryCommentFormDTO + * @return Result> + * @Author wangc + * @Date 2020.04.01 17:15 + **/ + @Override + public Result> getCommentList(TokenDto tokenDto, ResiQueryCommentFormDTO commentFormDTO) { + commentFormDTO.setPageNo((commentFormDTO.getPageNo() - NumConstant.ONE) * commentFormDTO.getPageSize()); + return new Result>().ok(baseDao.getCommentList(commentFormDTO)); + + } + + } \ No newline at end of file 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 aaafafb722..516f722bb2 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 @@ -20,21 +20,24 @@ 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; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupEntity; +import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.service.ResiGroupMemberService; import com.epmet.modules.topic.dao.ResiTopicAttachmentDao; import com.epmet.modules.topic.dao.ResiTopicCommentDao; import com.epmet.modules.topic.dao.ResiTopicDao; import com.epmet.modules.topic.dao.ResiTopicOperationDao; import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity; -import com.epmet.modules.topic.entity.ResiTopicCommentEntity; import com.epmet.modules.topic.entity.ResiTopicEntity; import com.epmet.modules.topic.entity.ResiTopicOperationEntity; import com.epmet.modules.topic.service.ResiTopicService; @@ -44,15 +47,18 @@ 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.ResiCommentFormDTO; +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.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -84,6 +90,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -153,17 +162,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> + * @Author wangc + * @Date 2020.04.01 08:59 + **/ + @Override + public Result> getLatestTenTopics(TokenDto tokenDto, String groupId) { + + if(StringUtils.isBlank(groupId)){ + return new Result>().error(); + } + + //1.查询话题列表 + List lastestTenTopics = + baseDao.getLatestTenTopics(groupId,tokenDto.getUserId()); + + //2.遍历存储用户信息 + ResiGroupEntity group = resiGroupDao.selectById(groupId); + if(null != group && ModuleConstant.DEL_FLAG.equals(group.getDelFlag())){ + + } + + + return new Result>().ok(lastestTenTopics); + } + + /** + * @Description 查看历史话题(分页,允许状态筛选) * @Param tokenDto - * @Param resiCommentFormDTO + * @Param ResiTopicPageFormDTO.class + * @return Result> + * @Author wangc + * @Date 2020.04.01 10:36 + **/ + @Override + public Result> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + + //1.查询历史话题列表 + + topicPageFormDTO.setUserId(tokenDto.getUserId()); + + topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); + + List pastTopics = + baseDao.getPastTopics(topicPageFormDTO); + + //2.遍历用户信息 + + + return new Result>().ok(pastTopics); + } + + /** + * @Description 屏蔽话题 + * @Param tokenDto + * @Param ResiTopicHiddenFormDTO.class * @return Result * @Author wangc - * @Date 2020.03.31 17:36 + * @Date 2020.04.01 12:38 **/ @Override - public Result commentTopic(TokenDto tokenDto, ResiCommentFormDTO resiCommentFormDTO) { + public Result hideTopic(TokenDto tokenDto, ResiTopicOperationFormDTO hiddenFormDTO) { - //1.判断当前用户是否被禁言 - ResiTopicDTO topic = get(resiCommentFormDTO.getTopicId()); - if(null == topic){ - return new Result().error(); + //1.1拿到组Id + ResiTopicEntity topic = baseDao.selectById(hiddenFormDTO.getTopicId()); + //1.2校验身份,是否是该话题所属群组的组长 + Result verifyError = verifyLeader(topic,tokenDto.getUserId()); + if(!verifyError.success()) { + return verifyError; } - ResiGroupMemberDTO resiGroupMemberDTO = - resiGroupMemberService.getResiGroupMember(tokenDto.getUserId() , topic.getGroupId()); + //2.屏蔽话题 + ResiTopicEntity topicForUpdate = new ResiTopicEntity(); + topicForUpdate.setId(hiddenFormDTO.getTopicId()); + topicForUpdate.setUpdatedBy(tokenDto.getUserId()); + topicForUpdate.setStatus(TopicConstant.HIDDEN); + baseDao.update(topicForUpdate); + //3.话题操作记录 + ResiTopicOperationEntity operationRecord = new ResiTopicOperationEntity(); + operationRecord.setTopicId(hiddenFormDTO.getTopicId()); + operationRecord.setOperationReason(hiddenFormDTO.getOperateReason()); + operationRecord.setOperationType(TopicConstant.HIDDEN); + operationRecord.setCreatedBy(tokenDto.getUserId()); + resiTopicOperationDao.insertOne(operationRecord); - if(null != resiGroupMemberDTO){ - if(MemberStateConstant.SILENT.equals(resiGroupMemberDTO.getStatus())){ - //当前用户被禁言 - return new Result().error(); - }else if(MemberStateConstant.REMOVED.equals(resiGroupMemberDTO.getStatus())){ - //当前用户已被移出群 - return new Result().error(); - } - }else{ - //当前用户非组内成员 - return new Result().error(); + return new Result(); + } + + /** + * @Description 批量取消屏蔽 + * @Param tokenDto + * @Param topicIds + * @return Result + * @Author wangc + * @Date 2020.04.01 14:17 + **/ + @Override + public Result cancelHiddenTopics(TokenDto tokenDto, List topicIds) { + + + //1.1拿到组Id + ResiTopicEntity topic = baseDao.selectById(topicIds.get(0)); + + //1.2校验身份,是否是该话题所属群组的组长 + Result verifyError = verifyLeader(topic,tokenDto.getUserId()); + if(!verifyError.success()) { + return verifyError; } - if(resiCommentFormDTO.getCommentContent().length() > TopicConstant.MAX_NUMBER_OF_COMMENT){ + //2.批量取消屏蔽 + baseDao.cancelHiddenOrCloseBatch(topicIds,tokenDto.getUserId(),TopicConstant.PUBLISHMENT); - return new Result().error(); + //3.记录话题操作日志 + for(String id : topicIds){ + ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); + operation.setTopicId(id); + operation.setOperationType(TopicConstant.CANCEL_HIDDEN); + operation.setCreatedBy(tokenDto.getUserId()); + resiTopicOperationDao.insertOne(operation); } - ResiTopicCommentEntity comment = ConvertUtils.sourceToTarget(resiCommentFormDTO,ResiTopicCommentEntity.class); - comment.setStatus(TopicConstant.PUBLISHMENT); - resiTopicCommentDao.insert(comment); return new Result(); } /** - * @Description 查看组内最近十条话题 + * @Description 关闭话题 * @Param tokenDto - * @Param groupId - * @return Result> + * @Param ResiTopicOperationFormDTO.class + * @return Result.class * @Author wangc - * @Date 2020.04.01 08:59 + * @Date 2020.04.01 15:37 **/ @Override - public Result> getLatestTenTopics(TokenDto tokenDto, String groupId) { + public Result closeTopic(TokenDto tokenDto, ResiTopicOperationFormDTO closeFormDTO) { - //1.查询话题列表 - List lastestTenTopics = - baseDao.getLatestTenTopics(groupId); + //1.1拿到组Id + ResiTopicEntity topic = baseDao.selectById(tokenDto.getUserId()); - //2.遍历放用户信息 - ResiGroupEntity group = resiGroupDao.selectById(groupId); - if(null != group && ModuleConstant.DEL_FLAG.equals(group.getDelFlag())){ + //1.2校验身份,是否是该话题所属群组的组长 + Result verifyError = verifyLeader(topic,tokenDto.getUserId()); + if(!verifyError.success()) { + return verifyError; + } + + //2.关闭操作 + List id = new ArrayList<>(); + id.add(closeFormDTO.getTopicId()); + baseDao.cancelHiddenOrCloseBatch(id,tokenDto.getUserId(),TopicConstant.CLOSED); + + //3.记录话题操作日志 + ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); + operation.setTopicId(id.get(0)); + operation.setOperationReason(closeFormDTO.getOperateReason()); + operation.setCreatedBy(tokenDto.getUserId()); + operation.setOperationType(TopicConstant.CLOSED); + resiTopicOperationDao.insertOne(operation); + + return new Result(); + } + + /** + * @Description 查看话题详情 + * @Param tokenDto + * @Param topicId + * @return ResiTopicDetailResultDTO + * @Author wangc + * @Date 2020.04.01 15:56 + **/ + @Override + public Result getTopicDetail(TokenDto tokenDto, String topicId) { + if(StringUtils.isBlank(topicId)){ + return new Result().error(); } - for(ResiTopicInfoResultDTO obj:lastestTenTopics){ - if(StringUtils.equals(tokenDto.getUserId(),obj.getUserId())){ - obj.setReleaseUserFlag(TopicConstant.PUBLISHED_BY_MYSELF); - }else{ - obj.setReleaseUserFlag(TopicConstant.PUBLISHED_BY_OTHER); - } + //1.获取话题基本信息 + ResiTopicEntity topicDetail = baseDao.selectById(topicId); + ResiTopicDetailResultDTO resultDTO = new ResiTopicDetailResultDTO(); + + //2.查询话题附件 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(TopicConstant.TOPIC_ID,topicId); + wrapper.eq(TopicConstant.DEL_FLAG,NumConstant.ZERO_STR); + wrapper.orderByDesc(TopicConstant.CREATED_DATE); + List attachments = resiTopicAttachmentDao.selectList(wrapper); + List attachmentUrls = new ArrayList<>(); + for(ResiTopicAttachmentEntity attachment : attachments){ + attachmentUrls.add(attachment.getAttachmentUrl()); } - return new Result>().ok(lastestTenTopics); + resultDTO.setTopicImgs(attachmentUrls); + resultDTO.setReleaseTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(topicDetail.getCreatedTime())); + resultDTO.setTopicContent(topicDetail.getTopicContent()); + + //3.拿取用户信息 + ResiTopicDTO topic = get(topicId); + ResiGroupEntity group = resiGroupDao.selectById(topic.getGroupId()); + UserResiInfoFormDTO userParam = new UserResiInfoFormDTO(); + userParam.setUserId(tokenDto.getUserId()); + userParam.setCustomerId(group.getCustomerId()); + Result userInfo = + epmetUserFeignClient.getUserResiInfoDTO(userParam); + if(userInfo.success()){ + resultDTO.setReleaseUserName(userInfo.getData().getSurname() + userInfo.getData().getName()); + + //TODO 调用EpmetUserFeign的查询用户微信信息的方法拉取头像信息 + resultDTO.setReleaseUserHeadPhoto(""); + } + + + + return new Result().ok(resultDTO); } /** - * @Description 查看历史话题(分页,允许状态筛选) + * @Description 屏蔽话题列表查询 * @Param tokenDto * @Param ResiTopicPageFormDTO.class - * @return Result> + * @return List * @Author wangc - * @Date 2020.04.01 10:36 + * @Date 2020.04.01 16:45 **/ @Override - public Result> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + public Result> getHiddenTopics(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + //1.查询屏蔽话题列表 + topicPageFormDTO.setUserId(tokenDto.getUserId()); + topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); + topicPageFormDTO.setStatus(TopicConstant.HIDDEN); + + List hiddenTopics = + baseDao.getPastTopics(topicPageFormDTO); + + //2.遍历用户信息 - return null; + + return new Result>().ok(hiddenTopics); } + /** + * @Description 查询当前组员在组内是否被禁言或已被移除 + * @Param resiGroupMemberDTO + * @return Result.class + * @Author wangc + * @Date 2020.04.01 15:00 + **/ + private Result verifySilentOrRemoved(ResiGroupMemberDTO resiGroupMemberDTO){ + if(null != resiGroupMemberDTO){ + if(MemberStateConstant.SILENT.equals(resiGroupMemberDTO.getStatus())){ + //当前用户被禁言 + return new Result().error(); + }else if(MemberStateConstant.REMOVED.equals(resiGroupMemberDTO.getStatus())){ + //当前用户已被移出群 + return new Result().error(); + }else{ + return new Result(); + } + }else{ + //当前用户非组内成员 + return new Result().error(); + } + } + + /** + * @Description 校验当前用户是否是该小组组长 + * @Param + * @return + * @Author wangc + * @Date 2020.04.01 14:55 + **/ + private Result verifyLeader(ResiTopicEntity topic,String userId){ + if(null != topic){ + ResiGroupMemberDTO leaderVerify = resiGroupMemberDao.selectLeaderMember(topic.getGroupId()); + if(null != leaderVerify){ + //1.2判断是否是组长 + if(!StringUtils.equals(leaderVerify.getId(),userId)){ + //非组长,无权限进行操作 + return new Result().error(); + }else{ + return new Result(); + } + }else{ + return new Result().error(); + } + }else{ + return new Result().error(); + } + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml index c7cbed2093..4f64d97e42 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml @@ -3,7 +3,66 @@ + + + select replace(uuid(),'-','') AS APPROVAL_ID + + + INSERT INTO resi_topic_attachment + + + topic_id, + + + attachment_name, + + + attachment_format, + + + attachment_type, + + + attachment_url, + + + created_by, + + del_flag, + revision, + created_time, + updated_by, + updated_time + + + + #{topicId}, + + + #{attachmentName}, + + + #{attachmentFormat}, + + + #{attachmentType}, + + + #{attachmentUrl}, + + + #{createdBy}, + + '0', + '0', + now(), + 'APP_USER', + now() + + + + insert into user diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml index 17c0eecd82..a7bd739c48 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml @@ -3,7 +3,67 @@ + + + + select replace(uuid(),'-','') AS APPROVAL_ID + - + INSERT INTO resi_topic_operation + + + topic_id, + + + comment_content, + + + status, + + + created_by, + + del_flag, + revision, + created_time, + updated_by, + updated_time + + + + #{topicId}, + + + #{commentContent}, + + + #{status}, + + + #{createdBy}, + + '0', + '0', + now(), + 'APP_USER', + now() + + + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index c1992e9b06..9ced62fb55 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -3,8 +3,8 @@ - - + + select replace(uuid(),'-','') AS APPROVAL_ID @@ -88,13 +88,16 @@ + + + + + + + + UPDATE + RESI_TOPIC + + + STATUS = #{status} , + + + DEL_FLAG = #{delFlag} , + + + UPDATED_BY = #{updatedBy} , + + + TOPIC_CONTENT = #{topicContent} , + + UPDATED_DATE = NOW() + + WHERE + ID = #{id} + AND DEL_FLAG = '0' + + + + + UPDATE + RESI_TOPIC + SET + STATUS = #{status}, + UPDATED_DATE = NOW(), + UPDATED_BY = #{updatedBy} + WHERE + ID + + ${item} + + AND + DEL_FLAG = '0' + AND + STATUS = 'hidden' + + + + + update RESI_TOPIC + + + + + when id=#{i.id} then #{i.topicContent} + + + + + + + when id=#{i.id} then #{i.status} + + + + + + + + when id=#{i.id} then #{i.updatedBy} + + + + + updated_date = now() + where + + id=#{i.id} + + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml index 7262beca3a..6254bb021a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml @@ -3,6 +3,53 @@ + + + + + select replace(uuid(),'-','') AS APPROVAL_ID + + + INSERT INTO resi_topic_operation + + + topic_id, + + + operation_type, + + + operation_reason, + + + created_by, + + del_flag, + revision, + created_time, + updated_by, + updated_time + + + + #{topicId}, + + + #{operationType}, + + + #{operationReason}, + + + #{createdBy}, + + '0', + '0', + now(), + 'APP_USER', + now() + + diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 68b5e665a9..84d0a19912 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestBody; * @Description 居民端陌生人导览 调用epmet-user服务 * @Author sun */ -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class, url = "http://localhost:8087") +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) public interface EpmetUserFeignClient { /** diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java index e2e629e79e..25a13a456b 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.StrangerResiGuideConstant; @@ -44,6 +45,11 @@ public class UserAccessServiceImpl implements UserAccessService { visitedFormDTO.setGridId(userInfoParams.getGridId()); visitedFormDTO.setCustomerId(userInfoParams.getCustomerId()); visitedFormDTO.setUserId(userInfoParams.getUserId()); + if(null != userInfoResult.getData().getUserRoleList() && userInfoResult.getData().getUserRoleList().size() > 0){ + visitedFormDTO.setIsReg(NumConstant.ONE_STR); + }else{ + visitedFormDTO.setIsReg(NumConstant.ZERO_STR); + } Result re = epmetUserFeignClient.saveVisitedRecord(visitedFormDTO); if (!re.success()) { log.warn(StrangerResiGuideConstant.EPMET_USER_EXCEPTION); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java index c8bacca5f9..8accba700c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java @@ -48,5 +48,10 @@ public class VisitedFormDTO implements Serializable { @NotBlank(message = "用户ID不能为空") private String userId; + /** + * 是否注册居民 1:是 0:否 + * */ + private String isReg; + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 246542a747..acbb5833f7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; * @Author sun * @Date 2020/3/16 */ -@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class, url = "http://localhost:8092") +@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) public interface GovOrgFeignClient { /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java index 58aeea85cf..dcb4d7d174 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java @@ -158,7 +158,7 @@ public class GridVisitedServiceImpl extends BaseServiceImpl UserResiRegisterVisitRecord = userResiRegisterVisitDao.selectUserResiRegisterVisit(userResiRegisterVisitDTO);