From cb332ad28573e61418e5b41ef5db4b913e2dc277 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期日, 25 六月 2023 12:39:55 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/web/AuthController.java |   26 ++++++++++++++------------
 src/main/java/com/zy/common/web/BaseController.java |    9 +++++++++
 src/main/webapp/static/js/role/rolePower.js         |   11 +++++++----
 src/main/webapp/static/js/role/role.js              |    1 +
 4 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java
index 28e42fc..b4a55a8 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -274,19 +274,21 @@
         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)){
@@ -303,7 +305,7 @@
                         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();
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/role.js b/src/main/webapp/static/js/role/role.js
index 3bdce29..4b02c22 100644
--- a/src/main/webapp/static/js/role/role.js
+++ b/src/main/webapp/static/js/role/role.js
@@ -273,6 +273,7 @@
                     shadeClose: false,
                     content: 'role_power_detail.html',
                     success: function(layero, index){
+
                     }
                 });
                 break;
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