重点:
- 基于Redis中List的点赞列表
- 基于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