From d6d25613f504d8fc4c6ffa8a1854beb4dac044d0 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 09:16:24 +0800
Subject: [PATCH] 菜单
---
src/main/java/com/zy/common/web/AuthController.java | 56 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 39 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java
index efb9aa2..6ef203c 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -146,7 +146,11 @@
user = userService.selectById(getUserId());
List<RoleResource> roleResources = roleResourceService.selectList(new EntityWrapper<RoleResource>().eq("role_id", user.getRoleId()));
List<Long> resourceIds = new ArrayList<>();
- roleResources.forEach(roleResource -> resourceIds.add(roleResource.getResourceId()));
+ roleResources.forEach(roleResource -> {
+ if (roleResource.getResourceId() != null) {
+ resourceIds.add(roleResource.getResourceId());
+ }
+ });
if (resourceIds.isEmpty()) {
return R.ok();
}
@@ -286,20 +290,30 @@
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()));
+ Long resourceId = null;
+ try {
+ resourceId = Long.parseLong(dto.getTwo());
+ } catch (NumberFormatException e) {
+ // 濡傛灉鏃犳硶杞崲涓篖ong锛屽彲鑳芥槸鍔熻兘鏉冮檺锛岃烦杩�
+ }
+ if (resourceId != null) {
+ Resource resource = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", resourceId).eq("level", 2));
+ if (!Cools.isEmpty(resource)) {
+ // 鏍¢獙涓婄骇鏉冮檺
+ if (leaderId != null) {
+ RoleResource leaderRoleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource.getId()));
+ if (null == leaderRoleResource) {
+ 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 {
+ }
+ // 濡傛灉涓嶆槸璧勬簮ID锛屽彲鑳芥槸鍔熻兘鏉冮檺
+ if (resourceId == null) {
Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo()));
if (!Cools.isEmpty(permission)) {
RolePermission rolePermission = new RolePermission();
@@ -308,14 +322,22 @@
rolePermissionService.insert(rolePermission);
}
}
+ // 澶勭悊涓夌骇鑿滃崟
for (String three : dto.getThree()) {
- Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).eq("level", 3));
+ Long threeResourceId = null;
+ try {
+ threeResourceId = Long.parseLong(three);
+ } catch (NumberFormatException e) {
+ // 濡傛灉鏃犳硶杞崲涓篖ong锛岃烦杩�
+ continue;
+ }
+ Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", threeResourceId).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())));
+ RoleResource leaderRoleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource1.getId()));
+ if (null == leaderRoleResource) {
+ throw new CoolException(resource1.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName()));
}
}
RoleResource roleResource = new RoleResource();
--
Gitblit v1.9.1