From 74472c9d22dddcb41383794caf0011043b20f817 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期二, 31 三月 2020 13:25:47 +0800
Subject: [PATCH] fix  数据权限

---
 src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 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..54c13cc 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/SysMenuServiceImpl.java
@@ -1,10 +1,14 @@
 package com.highdatas.mdm.service.impl;
 
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.highdatas.mdm.entity.SysMenu;
 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.LinkedHashSet;
 
 /**
  * <p>
@@ -16,5 +20,33 @@
  */
 @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