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