From b5636e416a2fe029f96aec6ddfd3489394925b15 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期二, 24 三月 2020 19:33:53 +0800
Subject: [PATCH] add 数据权限

---
 src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 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..b7c2a95 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,31 @@
  */
 @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);
+            if (sysMenu == null) {
+                continue;
+            }
+            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