From ec981eb34a7cf0853f4fd5d5fe377ad485a96969 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 24 十一月 2025 10:30:50 +0800
Subject: [PATCH] #pda权限
---
src/main/java/com/zy/common/web/AuthController.java | 53 +++++++++++++++++++-------
src/main/java/com/zy/common/web/BaseController.java | 9 ++++
src/main/webapp/static/js/role/rolePower.js | 11 +++--
3 files changed, 54 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java
index cc00686..139f0c4 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -25,6 +25,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.*;
+import java.util.stream.Collectors;
/**
* Created by vincent on 2019-07-30
@@ -283,39 +284,41 @@
Long leaderId = role.getLeader();
roleResourceService.delete(new EntityWrapper<RoleResource>().eq("role_id", roleId));
rolePermissionService.delete(new EntityWrapper<RolePermission>().eq("role_id", roleId));
- if (!Cools.isEmpty(powers)) {
+ if (!Cools.isEmpty(powers)){
List<PowerDto> dtos = JSON.parseArray(powers, PowerDto.class);
for (PowerDto dto : dtos) {
- Resource resource = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", dto.getTwo()).eq("level", 2));
- if (!Cools.isEmpty(resource)) {
- // 鏍¢獙涓婄骇鏉冮檺
- if (leaderId != null) {
- RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource.getId()));
- if (null == roleResource) {
- throw new CoolException(resource.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName()));
+ if (isNumber(dto.getTwo())) {
+ Resource resource = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", dto.getTwo()).eq("level", 2));
+ if (!Cools.isEmpty(resource)) {
+ // 鏍¢獙涓婄骇鏉冮檺
+ if (leaderId != null) {
+ RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource.getId()));
+ if (null == roleResource) {
+ throw new CoolException(resource.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName()));
+ }
}
+ RoleResource roleResource = new RoleResource();
+ roleResource.setRoleId(roleId);
+ roleResource.setResourceId(resource.getId());
+ roleResourceService.insert(roleResource);
}
- RoleResource roleResource = new RoleResource();
- roleResource.setRoleId(roleId);
- roleResource.setResourceId(resource.getId());
- roleResourceService.insert(roleResource);
} else {
Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo()));
- if (!Cools.isEmpty(permission)) {
+ if (!Cools.isEmpty(permission)){
RolePermission rolePermission = new RolePermission();
rolePermission.setRoleId(roleId);
rolePermission.setPermissionId(permission.getId());
rolePermissionService.insert(rolePermission);
}
}
- for (String three : dto.getThree()) {
+ for (String three : dto.getThree()){
Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).eq("level", 3));
if (!Cools.isEmpty(resource1)) {
// 鏍¢獙涓婄骇鏉冮檺
if (leaderId != null) {
RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource1.getId()));
if (null == roleResource) {
- throw new CoolException(resource.getName().concat("鐨�").concat(resource1.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName())));
+ throw new CoolException(resource1.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName()));
}
}
RoleResource roleResource = new RoleResource();
@@ -344,6 +347,26 @@
return R.ok(resources);
}
+
+ @RequestMapping("/menu/pda/auth")
+ @ManagerAuth
+ public R menuPda(){
+ Long userId = getUserId();
+ List<RolePermission> rolePermissions;
+ if (userId == 9527L) {
+ rolePermissions = rolePermissionService.selectList(new EntityWrapper<>());
+ } else {
+ Long roleId = getUser().getRoleId();
+ rolePermissions = rolePermissionService.selectList(new EntityWrapper<RolePermission>().eq("role_id", roleId));
+ }
+ if (Cools.isEmpty(rolePermissions)) {
+ return R.ok();
+ }
+ List<Long> collect = rolePermissions.stream().map(RolePermission::getPermissionId).distinct().collect(Collectors.toList());
+ List<Permission> permissions = permissionService.selectBatchIds(collect);
+ return R.ok().add(permissions);
+ }
+
// @GetMapping(value = "/system/activation/auth")
// public R activation() {
// if (SystemProperties.SYSTEM_ACTIVATION) {
diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java
index 995c3d9..6d9033f 100644
--- a/src/main/java/com/zy/common/web/BaseController.java
+++ b/src/main/java/com/zy/common/web/BaseController.java
@@ -184,4 +184,13 @@
wrapper.like(columns.get(i), condition);
}
}
+
+ public static boolean isNumber(String str){
+ for (int i = str.length();--i>=0;){
+ if (!Character.isDigit(str.charAt(i))){
+ return false;
+ }
+ }
+ return true;
+ }
}
diff --git a/src/main/webapp/static/js/role/rolePower.js b/src/main/webapp/static/js/role/rolePower.js
index 212e2ba..b51c8d4 100644
--- a/src/main/webapp/static/js/role/rolePower.js
+++ b/src/main/webapp/static/js/role/rolePower.js
@@ -40,12 +40,15 @@
var param = [];
var checkData = tree.getChecked('powerTree');
checkData.map(function (obj) {
+ console.log(obj)
obj.children.map(function (resource) {
-
+ console.log(resource)
var childrens = [];
- resource.children.map(function (resource) {
- childrens.push(resource.id);
- });
+ if (resource.children) {
+ resource.children.map(function (resource) {
+ childrens.push(resource.id);
+ });
+ }
var one = {
'two': resource.id,
'three': childrens
--
Gitblit v1.9.1