From d0451fdd55195901e65e5c4b3b64028a86f9e669 Mon Sep 17 00:00:00 2001
From: kimi42345 <kimi42345@outlook.com>
Date: 星期日, 22 三月 2020 22:10:54 +0800
Subject: [PATCH] no message

---
 src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java
index 3e714c1..4d52ee4 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java
@@ -4,7 +4,13 @@
 import com.highdatas.mdm.mapper.SysMenuMapper;
 import com.highdatas.mdm.service.ISysMenuService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.Set;
 
 /**
  * <p>
@@ -16,5 +22,28 @@
  */
 @Service
 public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements ISysMenuService {
+    @Autowired
+    ISysMenuService menuService;
 
+    @Override
+    public LinkedHashSet<String> getByParentId(LinkedHashSet<String> parentIdSet) {
+        if (parentIdSet.size() == 0) {
+            return null;
+        }
+        LinkedHashSet<String> subSet = new LinkedHashSet<>();
+        for (String s : parentIdSet) {
+            SysMenu sysMenu = menuService.selectById(s);
+            String parentId = sysMenu.getParentId();
+            if (StringUtils.isEmpty(parentId)) {
+                continue;
+            }
+            subSet.add(parentId);
+        }
+        LinkedHashSet<String> byParentId = getByParentId(subSet);
+        if (byParentId != null) {
+            parentIdSet.addAll(byParentId);
+        }
+
+        return parentIdSet;
+    }
 }

--
Gitblit v1.8.0