
- 代码实现:
java
@Service
public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IBlogService {
@Resource
private IUserService userService;
/**
* 分页查询热门探店笔记。
*
* 作用:
* 1.按点赞数降序查询热门博客;
* 2.获取当前页数据;
* 3.查询用户;
*
* @param current当前页码
* @return处理结果
*/
@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(this::queryBlogUser);
return Result.ok(records);
}
/**
* 根据id查询探店笔记详情。
*
* 作用:
* 1.查询blog;
* 2.查询blog有关用户;
*
* @param id业务id
* @return处理结果
*/
@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);
}
/**
* 补充探店笔记作者信息。
*
* @param blog当前博客对象
* @return无返回值
*/
private void queryBlogUser(Blog blog) {
Long userId = blog.getUserId();
User user = userService.getById(userId);
blog.setName(user.getNickName());
blog.setIcon(user.getIcon());
}
}- 测试功能
