@Service
public class ContentcategoryServiceImpl
extends BaseServiceImpl<Contentcategory>
implements ContentcategoryService{
@Autowired
private ContentcategoryMapper contentcategoryMapper;
@Override
publicvoid deleteContentcategoryById(Contentcategory contentcategory) {
List<Object> deleteIds = new ArrayList<Object>();
deleteIds.add(contentcategory.getId());
//递归查询所有子类目
findSubNode(deleteIds,contentcategory.getId());
//执行批量删除
this.deleteByIds(deleteIds);
}
privatevoid findSubNode(List<Object> deleteIds,Long id) {
Contentcategory contentcategory = new Contentcategory();
contentcategory.setParentid(id);
//查询当前分类的子类目
List<Contentcategory> list= this.contentcategoryMapper.select(contentcategory);
for (Contentcategory contentcategory2 : list) {
//把子类目的id放入集合中
deleteIds.add(contentcategory2.getId());
findSubNode(deleteIds, contentcategory2.getId());
}
}
}
该博客介绍了如何在服务层实现递归删除分类树菜单的功能。通过ContentcategoryServiceImpl类,利用@Autowired注入ContentcategoryMapper,定义了deleteContentcategoryById方法,此方法先找到待删除分类及其所有子分类,然后批量删除。findSubNode方法用于递归查找子分类,并将子分类ID加入删除列表。
2145

被折叠的 条评论
为什么被折叠?



