guoshilong
2023-05-18 314aeb39f049f26d02611d8a426a2322c7ccfac0
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
@@ -1,5 +1,7 @@
package cn.gistack.sm.sjztmd.service.impl;
import cn.gistack.common.node.TreeNode;
import cn.gistack.common.utils.NodeTreeUtil;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.mapper.AttAdBaseMapper;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
@@ -8,8 +10,11 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @ClassName AttAdBaseServiceImpl
@@ -25,4 +30,37 @@
   public List<AttAdBaseVO> lazyTree(String parentCode, Map<String, Object> param) {
      return baseMapper.lazyTree(parentCode, param);
   }
   /**
    * 查询区域菜单树-带层级
    * @param parentCode
    * @param obj
    * @return
    */
   @Override
   public Object selectAttAdBaseTree(String parentCode, Map<String, Object> obj) {
      List<TreeNode> nodeTree = NodeTreeUtil.getNodeTree(baseMapper.selectAttAdBaseTree(parentCode, obj));
      // 排序并返回
      return sortTree(nodeTree);
   }
   /**
    * 排序--只排第一,二个子集
    * @param nodeTree
    */
   private List<TreeNode> sortTree(List<TreeNode> nodeTree) {
      for (TreeNode node : nodeTree) {
         if (node.getHasChildren()){
            List<TreeNode> children = node.getChildren();
            // 遍历子节点
            for (TreeNode child : children) {
               if (child.getHasChildren()){
                  child.setChildren(child.getChildren().stream().sorted(Comparator.comparing(TreeNode::getId)).collect(Collectors.toList()));
               }
            }
            node.setChildren(node.getChildren().stream().sorted(Comparator.comparing(TreeNode::getId)).collect(Collectors.toList()));
         }
      }
      return nodeTree;
   }
}