//全局静态变量放id
private static final List<Integer> subids = new ArrayList<Integer>();
//修改和级联删除接口
@RequestMapping("cascade")
public ModelAndView cascadeType(Integer menuid){
ModelAndView mav=new ModelAndView();
try {
List<AiThesaurusTypePo> li=aiThesaurusTypeService.listAllMenu(menuid);
if(null!=li&&li.size()>0){
System.out.println(getSubIdList(li));
subids.clear();
}
} catch (Exception e) {
e.printStackTrace();
}
return mav;
}
//调用递归查询某目录下的子目录 AiThesaurusTypePo,现成的有。
@Override
public List<AiThesaurusTypePo> listAllMenu(Integer menuID) throws Exception {
AiThesaurusTypeExample example = new AiThesaurusTypeExample();
example.createCriteria().andStateEqualTo((byte)1).andParentIdEqualTo(menuID);
List<AiThesaurusType> tempMenuList = thesaurusTypeMapper.selectByExample(example);
List<AiThesaurusTypePo> menuList = new ArrayList<AiThesaurusTypePo>();//封装菜单;
if(null!=tempMenuList&&tempMenuList.size()>0){
for(AiThesaurusType menu:tempMenuList){
AiThesaurusTypePo menupo = new AiThesaurusTypePo();
menupo.setMENU_ID(String.valueOf(menu.getId()));
menupo.setSubMenu(this.listAllMenu(menu.getId()));
menuList.add(menupo);
}
}
return menuList;
}
//反递归遍历层叠的list
public List<Integer> getSubIdList(List<AiThesaurusTypePo> li){
for(AiThesaurusTypePo typePo:li){
subids.add(Integer.parseInt(typePo.getMENU_ID()));
this.getSubIdList(typePo.getSubMenu());
}
return subids;
}
递归查询级联和反递归遍历取id
最新推荐文章于 2022-05-22 22:29:40 发布