@Autowired private RankDataMapper rankDataMapper;
@Override public List<Tunnel> listAll(Tunnel tunnel) { SysUser currentUser = (SysUser) SecurityUtils.getSubject().getPrincipal(); Long rankDataId = currentUser.getRankDataId(); if(null !=rankDataId){ ArrayList ids=new ArrayList<Long>(); //先把要删除的一级分类id放入到集合中 ids.add(rankDataId); //递归的将一级分类下的id也加入到集合中 getParent(ids,rankDataId); tunnel.setRankList(ids); } tunnel.setIsDelete(false); return tunnelMapper.listAll(tunnel); }
//递归查询子节点全部放在集合中 private void getParent(ArrayList<Long> ids, Long oneId) { List<RankData> rankDataList = rankDataMapper.select(RankData.build().setPaterId(oneId)); for (RankData rankData : rankDataList) { Long id = rankData.getId(); ids.add(id); this.getParent(ids,id); } }