黑马Redis实战项目——黑马点评笔记05 | 达人探店
重点:
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属性
2、调用likeBlog方法
@Override
public Result queryHotBlog(Integer current) {
// 根据用户查询
Page<Blog> page = query()
.orderByDesc("liked")
.page(new Page<>(current, SystemConstants.MAX_PAGE_SIZE));
// 获取当前页数据
List<Blog> records = page.getRecords();
// 查询用户
records.forEach(blog -> {
this.queryBlogUser(blog);
this.isBlogLiked(blog);
});
return Result.ok(records);
}
4、点赞排行榜
2、修改查询(根据id查,查询详情)
