linwei
2024-01-31 b3b566ebdfed4005aaa513da3d5d2fd3924903cc
src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
@@ -26,7 +26,9 @@
import org.springblade.modules.label.vo.LabelVO;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * 标签管理 服务实现类
@@ -49,12 +51,28 @@
    */
   @Override
   public Object getLabelList(LabelVO label) {
      return NodeTreeUtil.getNodeTree(baseMapper.getLabelList(label));
      Map<Integer, TreeIntegerNode> labelList = baseMapper.getLabelList(label);
      List<Integer> list = new ArrayList<>();
      // 遍历
      labelList.forEach((id, treeNode) -> {
         if (treeNode.getHasChildren()){
            list.add(id);
         }
      });
      if (list.size()>0) {
         // 查询子集
         Map<Integer, TreeIntegerNode> childrenLabelList = baseMapper.getChildrenLabelList(list);
         // 合并集合
         labelList.putAll(childrenLabelList);
      }
      // 处理并返回
      return NodeTreeUtil.getNodeTree(labelList);
   }
   @Override
   public List<TreeIntegerNode> tree(LabelVO label) {
      List<TreeIntegerNode> nodeTree = NodeTreeUtil.getNodeTree(baseMapper.getLabelTreeList(label));
      Map<Integer, TreeIntegerNode> labelTreeList = baseMapper.getLabelTreeList(label);
      List<TreeIntegerNode> nodeTree = NodeTreeUtil.getNodeTree(labelTreeList);
      nodeTree.forEach(node -> recursion(node));
      return nodeTree;
   }