From 08a962d2925baa255207fdf979e6fee794f1773b Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 19 Jul 2024 12:25:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java
index 938b1ed..4abd035 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java
@@ -30,6 +30,7 @@
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.annotation.PreAuth;
 import org.springblade.core.secure.constant.AuthConstant;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
@@ -59,7 +60,7 @@
 @AllArgsConstructor
 @RequestMapping("/role")
 @Api(value = "角色", tags = "角色")
-@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+//@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 public class RoleController extends BladeController {
 
 	private final IRoleService roleService;
@@ -87,6 +88,10 @@
 	@ApiOperation(value = "列表", notes = "传入role")
 	public R<List<RoleVO>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser) {
 		QueryWrapper<Role> queryWrapper = Condition.getQueryWrapper(role, Role.class);
+		// 不是超级管理员,排除超级管理员查询
+		if (!AuthUtil.isAdministrator()){
+			queryWrapper.ne("ROLE_ALIAS", "administrator");
+		}
 		List<Role> list = roleService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper);
 		return R.data(RoleWrapper.build().listNodeVO(list));
 	}
@@ -102,6 +107,26 @@
 		return R.data(tree);
 	}
 
+	@GetMapping("/treeByParentId")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "树形结构", notes = "树形结构")
+	public R<List<RoleVO>> treeByParentId(String parentId) {
+		List<RoleVO> tree = roleService.treeByParentId(parentId);
+		return R.data(tree);
+	}
+
+	/**
+	 * 根据父级角色查询子角色
+	 * @param parentId
+	 * @return
+	 */
+	@GetMapping("/treeByParentIdNew")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "树形结构", notes = "树形结构")
+	public R<List<RoleVO>> treeByParentIdNew(String parentId) {
+		List<RoleVO> tree = roleService.treeByParentIdNew(parentId);
+		return R.data(tree);
+	}
 	/**
 	 * 获取指定角色树形结构
 	 */
@@ -168,4 +193,14 @@
 		return R.data(list);
 	}
 
+	/**
+	 * 获取所有角色
+	 */
+	@GetMapping("/all")
+	@ApiOperation(value = "获取所有角色")
+	public R<List<Role>> getAll() {
+		List<Role> list = roleService.list();
+		return R.data(list);
+	}
+
 }

--
Gitblit v1.9.3