爱收集资源网

Java实现点赞功能,添加与取消

网络 2023-08-07 11:04

序言

这篇文章是基于Java实现的一个点赞功能,是在微服务上的评论功能的子模块,以及类似于抖音的评论据赞列表,可以联表查询用户点赞的评论列表和用户被点赞的评论列表,其中并没有使用redis和mq的中间件进行优化。

实现功能

抖音评论赞平台_抖音评论0.1元100个赞_抖音赞和评论有钱吗

实现添加取消点赞,判定是否点赞,查看用户点赞的评论列表和用户被点赞的评论列表等。

一、数据库设计1.评论据赞表数据库

抖音赞和评论有钱吗_抖音评论赞平台_抖音评论0.1元100个赞

二、实体类和VO对象1.实体类

实体类内容与数据库相同,在此不做展示。

2.VO对象

抖音评论0.1元100个赞_抖音评论赞平台_抖音赞和评论有钱吗

public class LikeVO {
 
    /**
     * 点赞表主键
     */
    Integer likeId;
 
    /**
     * 用户信息
     */
    UserSimpleVO userInfo;
 
    /**
     * 评论内容
     */
    String content;
 
    /**
     * 点赞创建时间
     */
    Timestamp createTime;
 
}

三、代码实现1.判定是否点赞

抖音赞和评论有钱吗_抖音评论赞平台_抖音评论0.1元100个赞

@Override
    public boolean isLike(Integer userId, Integer commentId) {
        LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Like::getUserId,userId)
                    .eq(Like::getCommentId,commentId);
        Long count = likeMapper.selectCount(queryWrapper);
        return count>0;
    }

2.添加或取消点赞

@Override
    public boolean like(Integer userId, Integer commentId) {
        //lambda查询是否存在点赞记录
        LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Like::getCommentId,commentId)
                    .eq(Like::getUserId,userId);
        Like like = likeMapper.selectOne(queryWrapper);
        //判断点赞记录是否为空,为空则添加,不为空则删除
        if(like!=null){
            int row = likeMapper.delete(queryWrapper);
            commentMapper.updateLikeNum(commentId,-1);
            return row>0;
        }
        like = new Like();
        like.setCommentId(commentId);
        like.setUserId(userId);
        int row = likeMapper.insert(like);
        //进行评论点赞数的减少
        commentMapper.updateLikeNum(commentId,1);
        return row>0;
    }

抖音评论0.1元100个