黑马Redis实战项目——黑马点评笔记05 | 达人探店

本文介绍了如何使用SpringBoot集成MybatisPlus实现发布和查看探店笔记的功能,以及基于Redis的List和SortedSet数据结构来处理点赞和点赞排行榜。点赞功能中,利用Set和ZSet的差异进行用户点赞状态的存储与查询,同时提供了点赞列表的查询方法。
摘要由CSDN通过智能技术生成

黑马Redis实战项目——黑马点评笔记05 | 达人探店

在这里插入图片描述
重点:

  1. 基于Redis中List的点赞列表
  2. 基于Redis中SortedSet的点赞排行榜

1、发布探店笔记

在这里插入图片描述
使用springboot框架整合mybatisplus实现


2、查看探店笔记

请求接口:
在这里插入图片描述在这里插入图片描述
一种实现方式是返回一个包含blog和user信息的Dto对象,但是过程繁琐。
因此简化为直接在Blog实体类,添加用户头像和用户名称两个属性,并加上mp提供的注解@TableField(exist = false) //当前属性不属于表中字段

//BlogController类中调用queryBlogById方法
	@GetMapping("/{id}")
    public Result queryBlogById(@PathVariable("id") Long id){
   
        return blogService.queryBlogById(id);
    }

//IBlogService接口中定义queryBlogById方法
public interface IBlogService extends IService<Blog> {
   

    Result queryHotBlog(Integer current);

    Result queryBlogById(Long id);
}

//BlogServiceImpl类中实现queryBlogById方法
	@Override
    public Result queryBlogById(Long id) {
   
        //1 查询blog
        Blog blog = getById(id);
        if(blog==null){
   
            return Result.fail("笔记不存在!");
        }
        //2 查询blog有关用户
        queryBlogUser(blog);
        return Result.ok(blog);
    }

    private void queryBlogUser(Blog blog) {
   
        Long userId = blog.getUserId();
        User user = userService.getById(userId);
        blog.setName(user.getNickName());
        blog.setIcon(user.getIcon());
    }

3、点赞

请求接口:
在这里插入图片描述
在这里插入图片描述
代码实现:
1、给Blog对象增加isLike属性

	/**
     * 是否点赞过了
     */
    @TableField(exist = false)
    private Boolean isLike;

2、调用likeBlog方法

	//BlogController调用likeBlog方法
	@PutMapping("/like/{id}")
    public Result likeBlog(@PathVariable("id") Long id) {
   
        // 修改点赞数量
        return blogService.likeBlog(id);
    }
    
    //IBlog
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值