lin
2024-03-25 9f8f9d13c42ca8cdccbf351069082a5fdccef2e4
src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.swagger.models.auth.In;
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.modules.label.entity.LabelEntity;
@@ -26,6 +27,8 @@
import org.springblade.modules.label.vo.LabelVO;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -45,12 +48,28 @@
   /**
    * 标签查询,按父id查询下级
    *
    * @param label
    * @return
    */
   @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
@@ -63,6 +82,10 @@
   private void recursion(TreeIntegerNode node) {
      if (node.getChildren() != null && node.getChildren().size() > 0) {
//         BigDecimal bigDecimal = BigDecimal.valueOf(0);
//         node.setCount(node.getChildren().stream().map(item -> {
//            bigDecimal.add(BigDecimal.valueOf(item.getCount()));
//         }));
         node.getChildren().forEach(node2 -> recursion(node2));
      } else {
         node.setChildren(null);