Procházet zdrojové kódy

1、顶部菜单租户筛选,其他租户排除系统管理

slowslo před 4 roky
rodič
revize
609a3197bb

+ 18 - 2
blade-service/blade-system/src/main/java/org/springblade/system/controller/MenuController.java

@@ -16,6 +16,9 @@
  */
 package org.springblade.system.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.*;
@@ -26,7 +29,9 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.annotation.PreAuth;
 import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tenant.annotation.TenantIgnore;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.Func;
@@ -34,6 +39,7 @@ import org.springblade.system.entity.Menu;
 import org.springblade.system.entity.TopMenu;
 import org.springblade.system.service.IMenuService;
 import org.springblade.system.service.ITopMenuService;
+import org.springblade.system.user.entity.User;
 import org.springblade.system.vo.CheckedTreeVO;
 import org.springblade.system.vo.GrantTreeVO;
 import org.springblade.system.vo.MenuVO;
@@ -42,6 +48,7 @@ import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -277,8 +284,17 @@ public class MenuController extends BladeController {
 		if (Func.isEmpty(user)) {
 			return null;
 		}
-		List<TopMenu> list = topMenuService.list(Wrappers.<TopMenu>query().lambda().orderByAsc(TopMenu::getSort));
-		return R.data(list);
+		QueryWrapper<TopMenu> queryWrapper = Condition.getQueryWrapper(new HashMap<>(), TopMenu.class);
+		if(user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)){
+			List<TopMenu> adminMenuList = topMenuService.list(queryWrapper.lambda().orderByAsc(TopMenu::getSort));
+//			List<TopMenu> adminMenuList = topMenuService.adminMenuList();
+			return R.data(adminMenuList);
+		}else{
+			List<TopMenu> tenantMenuList = topMenuService.list(queryWrapper.lambda().ne(TopMenu::getName, "系统管理").orderByAsc(TopMenu::getSort));
+//			List<TopMenu> tenantMenuList = topMenuService.tenantMenuList();
+			return R.data(tenantMenuList);
+		}
+
 	}
 
 	/**

+ 8 - 0
blade-service/blade-system/src/main/java/org/springblade/system/mapper/TopMenuMapper.java

@@ -17,8 +17,12 @@
 package org.springblade.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.system.entity.Tenant;
 import org.springblade.system.entity.TopMenu;
 
+import java.util.List;
+
 /**
  * 顶部菜单表 Mapper 接口
  *
@@ -26,4 +30,8 @@ import org.springblade.system.entity.TopMenu;
  */
 public interface TopMenuMapper extends BaseMapper<TopMenu> {
 
+	List<TopMenu> tenantMenuList();
+
+	List<TopMenu> adminMenuList();
+
 }

+ 8 - 0
blade-service/blade-system/src/main/java/org/springblade/system/mapper/TopMenuMapper.xml

@@ -18,4 +18,12 @@
         <result column="sort" property="sort"/>
     </resultMap>
 
+    <select id="tenantMenuList" resultMap="topMenuResultMap">
+        SELECT * FROM blade_top_menu WHERE name != '系统管理' AND is_deleted = 0 ORDER BY sort ASC
+    </select>
+
+    <select id="adminMenuList" resultMap="topMenuResultMap">
+        SELECT * FROM blade_top_menu WHERE is_deleted = 0 ORDER BY sort ASC
+    </select>
+
 </mapper>

+ 4 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/ITopMenuService.java

@@ -38,4 +38,8 @@ public interface ITopMenuService extends BaseService<TopMenu> {
 	 */
 	boolean grant(@NotEmpty List<Long> topMenuIds, @NotEmpty List<Long> menuIds);
 
+	List<TopMenu> tenantMenuList();
+
+	List<TopMenu> adminMenuList();
+
 }

+ 10 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TopMenuServiceImpl.java

@@ -60,4 +60,14 @@ public class TopMenuServiceImpl extends BaseServiceImpl<TopMenuMapper, TopMenu>
 		return true;
 	}
 
+	@Override
+	public List<TopMenu> tenantMenuList() {
+		return baseMapper.tenantMenuList();
+	}
+
+	@Override
+	public List<TopMenu> adminMenuList() {
+		return baseMapper.adminMenuList();
+	}
+
 }