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