Commit ea0b4851 by 段启岩

博客点赞删除完成

parent 3c7009a9
...@@ -4,12 +4,15 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage; ...@@ -4,12 +4,15 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.core.queue.message.DataItemType; import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.blog.entity.Blog; import cn.meteor.beyondclouds.modules.blog.entity.Blog;
import cn.meteor.beyondclouds.modules.blog.entity.BlogComment; import cn.meteor.beyondclouds.modules.blog.entity.BlogComment;
import cn.meteor.beyondclouds.modules.blog.entity.BlogPraise;
import cn.meteor.beyondclouds.modules.blog.enums.BlogCommentErrorCode; import cn.meteor.beyondclouds.modules.blog.enums.BlogCommentErrorCode;
import cn.meteor.beyondclouds.modules.blog.enums.BlogErrorCode; import cn.meteor.beyondclouds.modules.blog.enums.BlogErrorCode;
import cn.meteor.beyondclouds.modules.blog.enums.BlogPraiseType;
import cn.meteor.beyondclouds.modules.blog.exception.BlogCommentServiceException; import cn.meteor.beyondclouds.modules.blog.exception.BlogCommentServiceException;
import cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException; import cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException;
import cn.meteor.beyondclouds.modules.blog.mapper.BlogCommentMapper; import cn.meteor.beyondclouds.modules.blog.mapper.BlogCommentMapper;
import cn.meteor.beyondclouds.modules.blog.service.IBlogCommentService; import cn.meteor.beyondclouds.modules.blog.service.IBlogCommentService;
import cn.meteor.beyondclouds.modules.blog.service.IBlogPraiseService;
import cn.meteor.beyondclouds.modules.blog.service.IBlogService; import cn.meteor.beyondclouds.modules.blog.service.IBlogService;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService; import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
...@@ -23,6 +26,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -23,6 +26,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -41,6 +48,8 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC ...@@ -41,6 +48,8 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
private IMessageQueueService messageQueueService; private IMessageQueueService messageQueueService;
private IBlogPraiseService blogPraiseService;
@Autowired @Autowired
public void setBlogService(IBlogService blogService) { public void setBlogService(IBlogService blogService) {
this.blogService = blogService; this.blogService = blogService;
...@@ -56,6 +65,10 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC ...@@ -56,6 +65,10 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
this.messageQueueService = messageQueueService; this.messageQueueService = messageQueueService;
} }
@Autowired
public void setBlogPraiseService(IBlogPraiseService blogPraiseService) {
this.blogPraiseService = blogPraiseService;
}
/** /**
* 发布评论 * 发布评论
...@@ -163,11 +176,22 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC ...@@ -163,11 +176,22 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
} }
} }
//4.删除评论 //4.删除评论和对评论的赞
QueryWrapper<BlogComment> blogCommentQueryWrapper = new QueryWrapper(); QueryWrapper<BlogComment> blogCommentQueryWrapper = new QueryWrapper();
blogCommentQueryWrapper.like("thread", blogComment.getThread()); blogCommentQueryWrapper.like("thread", blogComment.getThread());
List<BlogComment> blogCommentList = list(blogCommentQueryWrapper);
List<Integer> commentIds = blogCommentList.stream()
.map(BlogComment::getCommentId)
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(commentIds)) {
QueryWrapper<BlogPraise> blogPraiseQueryWrapper = new QueryWrapper<>();
blogPraiseQueryWrapper.in("target_id", commentIds);
blogPraiseQueryWrapper.eq("target_type", BlogPraiseType.BLOG_COMMENT_PRAISE.getPraiseType());
blogPraiseService.remove(blogPraiseQueryWrapper);
remove(blogCommentQueryWrapper); remove(blogCommentQueryWrapper);
} }
}
/** /**
* 评论列表 * 评论列表
......
...@@ -5,6 +5,7 @@ import cn.meteor.beyondclouds.modules.blog.dto.BlogDetailDTO; ...@@ -5,6 +5,7 @@ import cn.meteor.beyondclouds.modules.blog.dto.BlogDetailDTO;
import cn.meteor.beyondclouds.modules.blog.entity.*; import cn.meteor.beyondclouds.modules.blog.entity.*;
import cn.meteor.beyondclouds.modules.blog.enums.BlogCategoryErrorCode; import cn.meteor.beyondclouds.modules.blog.enums.BlogCategoryErrorCode;
import cn.meteor.beyondclouds.modules.blog.enums.BlogErrorCode; import cn.meteor.beyondclouds.modules.blog.enums.BlogErrorCode;
import cn.meteor.beyondclouds.modules.blog.enums.BlogPraiseType;
import cn.meteor.beyondclouds.modules.blog.exception.BlogCategoryServiceException; import cn.meteor.beyondclouds.modules.blog.exception.BlogCategoryServiceException;
import cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException; import cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException;
import cn.meteor.beyondclouds.modules.blog.mapper.BlogMapper; import cn.meteor.beyondclouds.modules.blog.mapper.BlogMapper;
...@@ -196,19 +197,24 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB ...@@ -196,19 +197,24 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
throw new BlogServiceException(BlogErrorCode.USER_BLOG_NOT_FOUND); throw new BlogServiceException(BlogErrorCode.USER_BLOG_NOT_FOUND);
} }
//2.删除博客评论表 //2.删除博客的所有评论和博客评论的点赞
QueryWrapper<BlogComment> queryWrapperComment = new QueryWrapper(); QueryWrapper<BlogComment> queryWrapperComment = new QueryWrapper();
queryWrapperComment.eq("blog_id", blogId); queryWrapperComment.eq("blog_id", blogId);
//删除博客评论的点赞
List<String> blogCommentId = new ArrayList<>(); List<BlogComment> blogCommentList = blogCommentService.list(queryWrapperComment);
for (BlogComment blogComment : blogCommentService.list(queryWrapperComment)) { List<Integer> blogCommentIds = blogCommentList.stream()
String commentId = String.valueOf(blogComment.getCommentId()); .map(BlogComment::getCommentId)
blogCommentId.add(commentId); .collect(Collectors.toList());
}
QueryWrapper<BlogPraise> blogCommentPraiseQueryWrapper = new QueryWrapper<>(); // 只有博客有评论的时候才删
blogCommentPraiseQueryWrapper.in("target_id", blogCommentId); if (!CollectionUtils.isEmpty(blogCommentIds)) {
blogPraiseService.remove(blogCommentPraiseQueryWrapper); QueryWrapper<BlogPraise> blogPraiseQueryWrapper = new QueryWrapper<>();
blogPraiseQueryWrapper.in("target_id", blogCommentIds);
blogPraiseQueryWrapper.in("target_type", BlogPraiseType.BLOG_COMMENT_PRAISE.getPraiseType());
blogPraiseService.remove(blogPraiseQueryWrapper);
blogCommentService.remove(queryWrapperComment); blogCommentService.remove(queryWrapperComment);
}
//3.删除博客内容 //3.删除博客内容
...@@ -216,10 +222,11 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB ...@@ -216,10 +222,11 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
queryWrapperExt.eq("blog_id", blogId); queryWrapperExt.eq("blog_id", blogId);
blogExtService.remove(queryWrapperExt); blogExtService.remove(queryWrapperExt);
//4.删除博客内容点赞 //4.删除博客的点赞
QueryWrapper<BlogPraise> blogExtPraiseQueryWrapper = new QueryWrapper<>(); QueryWrapper<BlogPraise> blogPraiseQueryWrapper = new QueryWrapper<>();
blogExtPraiseQueryWrapper.eq("target_id", blogId); blogPraiseQueryWrapper.eq("target_id", blogId);
blogPraiseService.remove(blogExtPraiseQueryWrapper); blogPraiseQueryWrapper.eq("target_type", BlogPraiseType.BLOG_PRAISE.getPraiseType());
blogPraiseService.remove(blogPraiseQueryWrapper);
//5.删除博客标签 //5.删除博客标签
QueryWrapper<BlogTag> queryWrapperTag = new QueryWrapper(); QueryWrapper<BlogTag> queryWrapperTag = new QueryWrapper();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment