From 55d677758efadb6d42e6d4e595cecc2c50c20d5a Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 23 Dec 2023 17:19:12 +0800
Subject: [PATCH] bug修复
---
src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java b/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
index e548c07..384908b 100644
--- a/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
@@ -16,15 +16,19 @@
*/
package org.springblade.modules.label.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.modules.label.entity.LabelEntity;
-import org.springblade.modules.label.vo.LabelVO;
import org.springblade.modules.label.mapper.LabelMapper;
import org.springblade.modules.label.service.ILabelService;
-import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.label.vo.LabelVO;
import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
/**
* 标签管理 服务实现类
@@ -47,6 +51,37 @@
*/
@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) {
+ Map<Integer, TreeIntegerNode> labelTreeList = baseMapper.getLabelTreeList(label);
+ List<TreeIntegerNode> nodeTree = NodeTreeUtil.getNodeTree(labelTreeList);
+ nodeTree.forEach(node -> recursion(node));
+ return nodeTree;
+ }
+
+ private void recursion(TreeIntegerNode node) {
+ if (node.getChildren() != null && node.getChildren().size() > 0) {
+ node.getChildren().forEach(node2 -> recursion(node2));
+ } else {
+ node.setChildren(null);
+ }
}
}
--
Gitblit v1.9.3