From 0eae1862c35e7bf79a5a212e058218174d551477 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 31 十月 2022 10:38:22 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/permission/permission.js               |    4 +-
 src/main/java/com/zy/system/controller/PermissionController.java |    1 
 src/main/java/com/zy/common/web/AuthController.java              |   46 +++++++++++++++++------
 src/main/java/com/zy/common/web/BaseController.java              |   10 +++++
 src/main/webapp/static/js/role/rolePower.js                      |   11 +++--
 src/main/resources/application.yml                               |    4 +-
 6 files changed, 55 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java
index 067d5e5..fe47d37 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -22,6 +22,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * Created by vincent on 2019-07-30
@@ -273,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)){
@@ -302,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();
@@ -375,4 +378,23 @@
         return R.ok("婵�娲绘垚鍔燂紝鏈夋晥鏈熻嚦"+DateUtils.convert(exprTime));
     }
 
+    @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.stream().map(Permission::getAction).distinct().collect(Collectors.toList()));
+    }
+
 }
diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java
index b4678bf..8f1fade 100644
--- a/src/main/java/com/zy/common/web/BaseController.java
+++ b/src/main/java/com/zy/common/web/BaseController.java
@@ -157,4 +157,14 @@
             }
         }
     }
+
+    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/java/com/zy/system/controller/PermissionController.java b/src/main/java/com/zy/system/controller/PermissionController.java
index e712016..81845ed 100644
--- a/src/main/java/com/zy/system/controller/PermissionController.java
+++ b/src/main/java/com/zy/system/controller/PermissionController.java
@@ -71,6 +71,7 @@
     @RequestMapping(value = "/permission/add/auth")
     @ManagerAuth
     public R add(Permission permission) {
+        permission.setStatus((short) 1);
         permissionService.insert(permission);
         return R.ok();
     }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5114c81..180b469 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -11,8 +11,8 @@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
 #    url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs
-#    url: jdbc:sqlserver://localhost:1433;databasename=bfasrs
-    url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs
+    url: jdbc:sqlserver://localhost:1433;databasename=bfasrs
+#    url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs
     username: sa
 #    password: Zoneyung@zy56$
     password: sa@123
diff --git a/src/main/webapp/static/js/permission/permission.js b/src/main/webapp/static/js/permission/permission.js
index ca06b66..1405438 100644
--- a/src/main/webapp/static/js/permission/permission.js
+++ b/src/main/webapp/static/js/permission/permission.js
@@ -18,11 +18,11 @@
         cellMinWidth: 50,
         cols: [[
             {type: 'checkbox', fixed: 'left'}
-            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
+            // ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
             ,{field: 'name', align: 'center',title: '鏉冮檺鍚嶇О'}
             ,{field: 'action', align: 'center',title: '鎺ュ彛鍦板潃'}
             ,{field: 'resourceName', align: 'center',title: '鎵�灞炶彍鍗�',event: 'Resource', style: 'text-decoration: underline;cursor:pointer'}
-            ,{field: 'status$', align: 'center',title: '鐘舵��'}
+            // ,{field: 'status$', align: 'center',title: '鐘舵��'}
 
             ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
         ]],
diff --git a/src/main/webapp/static/js/role/rolePower.js b/src/main/webapp/static/js/role/rolePower.js
index 212e2ba..f9b9979 100644
--- a/src/main/webapp/static/js/role/rolePower.js
+++ b/src/main/webapp/static/js/role/rolePower.js
@@ -41,11 +41,12 @@
         var checkData = tree.getChecked('powerTree');
         checkData.map(function (obj) {
             obj.children.map(function (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
@@ -79,4 +80,4 @@
 // 鍏抽棴鍔ㄤ綔
 $(document).on('click','#data-detail-close', function () {
     parent.layer.closeAll();
-});
\ No newline at end of file
+});

--
Gitblit v1.9.1