本文最后更新于 2026年4月19日 下午
删除分类接口的实现
删除分类接口的需求
收集所有文章的分类信息
检查每个分类下是否有文章
根据文章表查出该分类中是否有文章
如果有 不允许删除 并返回错误提示
如果没有则可以删除
代码实现
在 AdminCategoryServiceImpl 中实现方法
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
|
@Override public ResponseResult deleteCategory(Long[] ids) { List<Long> idList = List.of(ids);
StringBuilder errorMsg = new StringBuilder();
for (Long categoryId : idList) { LambdaQueryWrapper<Article> articleQueryWrapper = new LambdaQueryWrapper<>(); articleQueryWrapper.eq(Article::getCategoryId, categoryId) .eq(Article::getDelFlag, SystemConstants.NOT_DELETED);
long articleCount = articleService.count(articleQueryWrapper);
if (articleCount > 0) { Category category = categoryService.getById(categoryId); String categoryName = category != null ? category.getName() : "ID:" + categoryId; if (!errorMsg.isEmpty()) { errorMsg.append("; "); } errorMsg.append("【").append(categoryName).append("】下存在 ").append(articleCount).append(" 篇文章"); } }
if (!errorMsg.isEmpty()) { return ResponseResult.errorResult(AppHttpCodeEnum.SYSTEM_ERROR, errorMsg.toString() + ",无法删除"); }
categoryService.removeByIds(idList);
return ResponseResult.okResult(); }
|
最后测试接口成功
在数据库中 del_flag 字段从 0 > 1
PS:该系列只做为作者学习开发项目做的笔记用
不一定符合读者来学习,仅供参考
预告
后续会记录博客的开发过程
每次学习会做一份笔记来进行发表
“一花一世界,一叶一菩提”
版权所有 © 2026 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/