diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java index ff7a3ace..b39f1f1f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java @@ -17,10 +17,8 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** *

@@ -184,8 +182,15 @@ public class TsResourceServiceImpl extends ServiceImpl TsResourceQueryWrapper=new QueryWrapper<>(); + TsResourceQueryWrapper.like("PARENT_IDS",resource.getId()); + if(StringUtils.isNotBlank(tsResource.getSorDivide())){ + TsResourceQueryWrapper.in("ID",getMenuIdList); + } + TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); + List children=dao.selectList(TsResourceQueryWrapper); + resource.setChildren(recursionGetListChildrenStand((resource),(children))); } } } @@ -209,8 +214,12 @@ public class TsResourceServiceImpl extends ServiceImpl TsResourceQueryWrapper=new QueryWrapper<>(); + TsResourceQueryWrapper.like("PARENT_IDS",resource.getId()); + TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); + List children=dao.selectList(TsResourceQueryWrapper); + resource.setChildren(recursionGetListChildrenStand((resource),(children))); } return TsResources; @@ -311,37 +320,17 @@ public class TsResourceServiceImpl extends ServiceImpl */ - private List recursionGetListChildren(String sorDivide,TsResource parent,List getMenuIdList){ - QueryWrapper TsResourceQueryWrapper=new QueryWrapper<>(); - TsResourceQueryWrapper.eq("PARENT_ID",parent.getId()); - if(StringUtils.isNotBlank(sorDivide)){ - TsResourceQueryWrapper.in("ID",getMenuIdList); + private List recursionGetListChildrenStand(TsResource resource,List children){ + List tsResources = children.stream().filter(resource1 -> resource1.getParentId().equals(resource.getId())).collect(Collectors.toList()); + if(!tsResources.isEmpty()){ + tsResources = tsResources.stream().sorted(Comparator.comparing(resource1 -> resource1.getDisplaySeq())).collect(Collectors.toList()); + tsResources.forEach(resource1 -> { + resource1.setChildren(recursionGetListChildrenStand((resource1),(children))); + }); } - TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); - List children=dao.selectList(TsResourceQueryWrapper); - for(TsResource TsResource:children){ - TsResource.setChildren(recursionGetListChildren((sorDivide),(TsResource),(getMenuIdList))); - } - return children; - } - - /** - * 递归调用获取子节点 - * @param parent:父节点 - * @return List - */ - private List recursionGetListChildrenStand(String sorDivide,TsResource parent){ - QueryWrapper TsResourceQueryWrapper=new QueryWrapper<>(); - TsResourceQueryWrapper.eq("PARENT_ID",parent.getId()); - TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); - List children=dao.selectList(TsResourceQueryWrapper); - for(TsResource TsResource:children){ - TsResource.setChildren(recursionGetListChildrenStand((sorDivide),(TsResource))); - } - return children; + return tsResources; } /**