@Override
public int deleteContent(Long id) {
List ids = new ArrayList<>();
//先把要删除的一级分类id放入到集合中
ids.add(id);
//递归的将一级分类下的id也加入到集合中
this.getIds(ids,id);
return voucherContentMapper.deleteContents(ids);
}
//递归方法
private void getIds(List ids, Long parentId) {
//查询二级分类的对象
List contents = voucherContentMapper.findSonContentByParentId(parentId);
//遍历二级分类的对象,把二级分类的id加入到要删除的集合中
for (VoucherContent content : contents) {
Long id = content.getId();
ids.add(id);
//把二级分类的每一个ID,查询它下面的子节点
this.getIds(ids,id);
}
}
update voucher_content
set `status` = 0
where id in
#{id}