本文最后更新于 2026年3月22日 下午
根据标签id查询文章列表接口
根据标签id查询文章列表接口需求
要查修出该标签下有多少篇文章
该标签下没有文章时返回空结果
状态是正式发布的
置顶的文章要放在前面
分页查询
代码实现
下面之展示服务类实现
因为是和文章有关的,所以写在ArticleServiceImpl类里
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| @Override public ResponseResult articleListByTagId(Long tagId, Integer pageNum, Integer pageSize) { LambdaQueryWrapper<ArticleTag> articleTagWrapper = new LambdaQueryWrapper<>(); articleTagWrapper.eq(ArticleTag::getTagId, tagId); List<ArticleTag> articleTagList = articleTagMapper.selectList(articleTagWrapper);
List<Long> articleIds = articleTagList.stream() .map(ArticleTag::getArticleId) .collect(Collectors.toList());
LambdaQueryWrapper<Article> lambdaQueryWrapper = new LambdaQueryWrapper<>(); if (!articleIds.isEmpty()) { lambdaQueryWrapper.in(Article::getId, articleIds); } else { lambdaQueryWrapper.eq(Article::getId, -1L); } lambdaQueryWrapper.eq(Article::getStatus, SystemConstants.ARTICLE_STATUS_NORMAL); lambdaQueryWrapper.orderByDesc(Article::getIsTop); Page<Article> page = new Page<>(pageNum, pageSize); page(page, lambdaQueryWrapper);
List<Article> articles = page.getRecords(); articles.forEach(article -> article.setCategoryName(categoryService.getById(article.getCategoryId()).getName()) );
List<ArticleListVo> articleListVos = BeanCopyUtils.copyBeanList(page.getRecords(), ArticleListVo.class);
PageVo pageVo = new PageVo(articleListVos, page.getTotal()); return ResponseResult.okResult(pageVo); }
|
PS:该系列只做为作者学习开发项目做的笔记用
不一定符合读者来学习,仅供参考
预告
后续会记录博客的开发过程
每次学习会做一份笔记来进行发表
“一花一世界,一叶一菩提”
版权所有 © 2025 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/