From ea77ba7aab1402fea6e68c9be172bf43a007d675 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 31 十月 2022 10:58:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/bfasrs' into bfasrs

---
 src/main/webapp/static/js/permission/permission.js               |    6 +-
 src/main/java/com/zy/system/controller/PermissionController.java |    2 
 src/main/java/com/zy/common/web/AuthController.java              |   46 +++++++++++----
 src/main/webapp/views/permission/permission_detail.html          |   44 +++++++-------
 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 
 7 files changed, 79 insertions(+), 44 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..01e4e6a 100644
--- a/src/main/java/com/zy/system/controller/PermissionController.java
+++ b/src/main/java/com/zy/system/controller/PermissionController.java
@@ -61,6 +61,7 @@
             return R.error();
         }
         if (null == permission.getId()){
+            permission.setStatus((short) 1);
             permissionService.insert(permission);
         } else {
             permissionService.updateById(permission);
@@ -71,6 +72,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..488a278 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: 'resourceName', align: 'center',title: '鎵�灞炶彍鍗�',event: 'Resource', style: 'text-decoration: underline;cursor:pointer'}
+            // ,{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
+});
diff --git a/src/main/webapp/views/permission/permission_detail.html b/src/main/webapp/views/permission/permission_detail.html
index a238eaf..939bae9 100644
--- a/src/main/webapp/views/permission/permission_detail.html
+++ b/src/main/webapp/views/permission/permission_detail.html
@@ -33,28 +33,28 @@
                 <input id="action" class="layui-input" type="text" placeholder="鎺ュ彛鍦板潃" lay-verify="required" >
             </div>
         </div>
-        <div class="layui-inline"  style="width:31%;">
-            <label class="layui-form-label">鎵�灞炶彍鍗曪細</label>
-            <div class="layui-input-inline cool-auto-complete">
-                <input id="resourceId" class="layui-input" type="text" placeholder="鎵�灞炶彍鍗�" style="display: none">
-                <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鎵�灞炶彍鍗�" onfocus=this.blur()>
-                <div class="cool-auto-complete-window">
-                    <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                    <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
-                    </select>
-                </div>
-            </div>
-        </div>
-        <div class="layui-inline"  style="width:31%;">
-            <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label>
-            <div class="layui-input-inline">
-                <select id="status" lay-verify="required">
-                    <option value="" style="display: none"></option>
-                    <option value="1">姝e父</option>
-                    <option value="0">绂佺敤</option>
-                </select>
-            </div>
-        </div>
+<!--        <div class="layui-inline"  style="width:31%;">-->
+<!--            <label class="layui-form-label">鎵�灞炶彍鍗曪細</label>-->
+<!--            <div class="layui-input-inline cool-auto-complete">-->
+<!--                <input id="resourceId" class="layui-input" type="text" placeholder="鎵�灞炶彍鍗�" style="display: none">-->
+<!--                <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鎵�灞炶彍鍗�" onfocus=this.blur()>-->
+<!--                <div class="cool-auto-complete-window">-->
+<!--                    <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
+<!--                    <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
+<!--                    </select>-->
+<!--                </div>-->
+<!--            </div>-->
+<!--        </div>-->
+<!--        <div class="layui-inline"  style="width:31%;">-->
+<!--            <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label>-->
+<!--            <div class="layui-input-inline">-->
+<!--                <select id="status" lay-verify="required">-->
+<!--                    <option value="" style="display: none"></option>-->
+<!--                    <option value="1">姝e父</option>-->
+<!--                    <option value="0">绂佺敤</option>-->
+<!--                </select>-->
+<!--            </div>-->
+<!--        </div>-->
 
 
         <hr class="layui-bg-gray">

--
Gitblit v1.9.1