feat: There is no way the, tree

This commit is contained in:
super_liu
2021-11-11 15:45:32 +08:00
parent bffba63003
commit f23104f625
@@ -17,10 +17,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays; import java.util.stream.Collectors;
import java.util.HashMap;
import java.util.List;
/** /**
* <p> * <p>
@@ -184,8 +182,15 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
tsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); tsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
TsResources=dao.selectList(tsResourceQueryWrapper); TsResources=dao.selectList(tsResourceQueryWrapper);
for(TsResource TsResource:TsResources){ for(TsResource resource:TsResources){
TsResource.setChildren(recursionGetListChildren((tsResource.getSorDivide()),(TsResource),(getMenuIdList))); QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.like("PARENT_IDS",resource.getId());
if(StringUtils.isNotBlank(tsResource.getSorDivide())){
TsResourceQueryWrapper.in("ID",getMenuIdList);
}
TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
resource.setChildren(recursionGetListChildrenStand((resource),(children)));
} }
} }
} }
@@ -209,8 +214,12 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
queryWrapper.orderByAsc("DISPLAY_SEQ"); queryWrapper.orderByAsc("DISPLAY_SEQ");
TsResources=dao.selectList(queryWrapper); TsResources=dao.selectList(queryWrapper);
for(TsResource TsResource:TsResources){ for(TsResource resource:TsResources){
TsResource.setChildren(recursionGetListChildrenStand((tsResource.getSorDivide()),(TsResource))); QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.like("PARENT_IDS",resource.getId());
TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
resource.setChildren(recursionGetListChildrenStand((resource),(children)));
} }
return TsResources; return TsResources;
@@ -311,37 +320,17 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
/** /**
* 递归调用获取子节点 * 递归调用获取子节点
* @param parent:父节点
* @return List<TsResource> * @return List<TsResource>
*/ */
private List<TsResource> recursionGetListChildren(String sorDivide,TsResource parent,List<String> getMenuIdList){ private List<TsResource> recursionGetListChildrenStand(TsResource resource,List<TsResource> children){
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>(); List<TsResource> tsResources = children.stream().filter(resource1 -> resource1.getParentId().equals(resource.getId())).collect(Collectors.toList());
TsResourceQueryWrapper.eq("PARENT_ID",parent.getId()); if(!tsResources.isEmpty()){
if(StringUtils.isNotBlank(sorDivide)){ tsResources = tsResources.stream().sorted(Comparator.comparing(resource1 -> resource1.getDisplaySeq())).collect(Collectors.toList());
TsResourceQueryWrapper.in("ID",getMenuIdList); tsResources.forEach(resource1 -> {
resource1.setChildren(recursionGetListChildrenStand((resource1),(children)));
});
} }
TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); return tsResources;
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
for(TsResource TsResource:children){
TsResource.setChildren(recursionGetListChildren((sorDivide),(TsResource),(getMenuIdList)));
}
return children;
}
/**
* 递归调用获取子节点
* @param parent:父节点
* @return List<TsResource>
*/
private List<TsResource> recursionGetListChildrenStand(String sorDivide,TsResource parent){
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.eq("PARENT_ID",parent.getId());
TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
for(TsResource TsResource:children){
TsResource.setChildren(recursionGetListChildrenStand((sorDivide),(TsResource)));
}
return children;
} }
/** /**