Skip to content
DAILY QUOTE

“ ”

  • 代码实现:
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());
    }
}
  • 测试功能