From 91bec308a59b943dcb1b2f771b985ef849aa2527 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 05 Sep 2022 11:44:33 +0800
Subject: [PATCH] 角色配置系统权限

---
 src/main/java/org/springblade/modules/system/vo/GrantVO.java                |    5 ++++-
 src/main/java/org/springblade/modules/system/entity/Role.java               |    4 ++++
 src/main/java/org/springblade/modules/system/controller/RoleController.java |    5 ++++-
 src/main/java/org/springblade/modules/system/controller/MenuController.java |    3 +++
 src/main/java/org/springblade/modules/system/vo/CheckedTreeVO.java          |    2 ++
 5 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/controller/MenuController.java b/src/main/java/org/springblade/modules/system/controller/MenuController.java
index b7d5288..6497f4d 100644
--- a/src/main/java/org/springblade/modules/system/controller/MenuController.java
+++ b/src/main/java/org/springblade/modules/system/controller/MenuController.java
@@ -35,6 +35,7 @@
 import org.springblade.modules.system.entity.Menu;
 import org.springblade.modules.system.entity.TopMenu;
 import org.springblade.modules.system.service.IMenuService;
+import org.springblade.modules.system.service.IRoleService;
 import org.springblade.modules.system.service.ITopMenuService;
 import org.springblade.modules.system.vo.CheckedTreeVO;
 import org.springblade.modules.system.vo.GrantTreeVO;
@@ -63,6 +64,7 @@
 
 	private final IMenuService menuService;
 	private final ITopMenuService topMenuService;
+	private final IRoleService roleService;
 
 	/**
 	 * 详情
@@ -241,6 +243,7 @@
 		vo.setMenu(menuService.roleTreeKeys(roleIds));
 		vo.setDataScope(menuService.dataScopeTreeKeys(roleIds));
 		vo.setApiScope(menuService.apiScopeTreeKeys(roleIds));
+		vo.setSystemIds(roleService.getById(roleIds).getSystemId());
 		return R.data(vo);
 	}
 
diff --git a/src/main/java/org/springblade/modules/system/controller/RoleController.java b/src/main/java/org/springblade/modules/system/controller/RoleController.java
index 928dc04..0f2e351 100644
--- a/src/main/java/org/springblade/modules/system/controller/RoleController.java
+++ b/src/main/java/org/springblade/modules/system/controller/RoleController.java
@@ -149,7 +149,10 @@
 		CacheUtil.clear(SYS_CACHE);
 		CacheUtil.clear(SYS_CACHE, Boolean.FALSE);
 		boolean temp = roleService.grant(grantVO.getRoleIds(), grantVO.getMenuIds(), grantVO.getDataScopeIds(), grantVO.getApiScopeIds());
-		return R.status(temp);
+		Role role = roleService.getById(grantVO.getRoleIds().get(0));
+		role.setSystemId(grantVO.getSystemIds());
+		boolean status = roleService.updateById(role);
+		return R.status(temp&&status);
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/system/entity/Role.java b/src/main/java/org/springblade/modules/system/entity/Role.java
index 625b0f9..387ca2b 100644
--- a/src/main/java/org/springblade/modules/system/entity/Role.java
+++ b/src/main/java/org/springblade/modules/system/entity/Role.java
@@ -86,5 +86,9 @@
 	@ApiModelProperty(value = "是否已删除")
 	private Integer isDeleted;
 
+	/**
+	 * 系统主键
+	 */
+	private String systemId;
 
 }
diff --git a/src/main/java/org/springblade/modules/system/vo/CheckedTreeVO.java b/src/main/java/org/springblade/modules/system/vo/CheckedTreeVO.java
index 6709eb3..059327e 100644
--- a/src/main/java/org/springblade/modules/system/vo/CheckedTreeVO.java
+++ b/src/main/java/org/springblade/modules/system/vo/CheckedTreeVO.java
@@ -34,4 +34,6 @@
 
 	private List<String> apiScope;
 
+	private String systemIds;
+
 }
diff --git a/src/main/java/org/springblade/modules/system/vo/GrantVO.java b/src/main/java/org/springblade/modules/system/vo/GrantVO.java
index c445612..8da7916 100644
--- a/src/main/java/org/springblade/modules/system/vo/GrantVO.java
+++ b/src/main/java/org/springblade/modules/system/vo/GrantVO.java
@@ -45,5 +45,8 @@
 
 	@ApiModelProperty(value = "apiScopeIds集合")
 	private List<Long> apiScopeIds;
-
+	/**
+	 * 系统主键
+	 */
+	private String systemIds;
 }

--
Gitblit v1.9.3