Commit ea0b4851 by 段启岩

博客点赞删除完成

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