diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java index 4e31bfa1..abbfa5ce 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.split.service.impl; +import cn.hutool.core.collection.CollStreamUtil; import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -386,17 +387,19 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl sarFileSplitMenuEO1List = new ArrayList<>(); + List idList = new ArrayList<>(); for (int i = 0; i < sourceIdList.size(); i++) { String sourceId = sourceIdList.get(i); // 要移动的节点信息 SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId); sarFileSplitMenuEO.setParentId(parentId); sarFileSplitMenuEO1List.add(sarFileSplitMenuEO); - + idList.add(sourceId); } - sarFileSplitMenuEO1List.addAll(lastMenuList); List allList = new ArrayList<>(); getChildren(allList, sarFileSplitMenuEO1List); + //排除 + getChildren(allList, lastMenuList); for (int i = 0; i < allList.size(); i++) { SarFileSplitMenuEO sarFileSplitMenuEO = allList.get(i); @@ -442,10 +445,15 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl allList, List sarFileSplitMenuEOList) { for (SarFileSplitMenuEO sarFileSplitMenuEO : sarFileSplitMenuEOList) { + String id = sarFileSplitMenuEO.getId(); + List idList = CollStreamUtil.toList(allList, SarFileSplitMenuEO::getId); + if (idList.contains(id)){ + continue; + } allList.add(sarFileSplitMenuEO); - List childrenList = baseMapper.findByParentId(sarFileSplitMenuEO.getId()); - if (CollectionUtils.isNotEmpty(childrenList)){ - getChildren(allList, childrenList); + List childrenList = baseMapper.findByParentId(id); + if (CollectionUtils.ist, cisNotEmpty(childrenList)){ + getChildren(allLhildrenList); } } }