遞迴刪除分類樹選單
@Service
public class ContentcategoryServiceImpl
extends BaseServiceImpl<Contentcategory>
implements ContentcategoryService{
@Autowired
private ContentcategoryMapper contentcategoryMapper;
@Override
publicvoid deleteContentcategoryById(Contentcategory contentcategory) {
List<Object> deleteIds
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());
}
}
}