From 9d4a4690882739998114f5f5bec40c9618962737 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 24 六月 2024 08:16:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/web/AuthController.java | 131 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 102 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java index e311882..7f178c1 100644 --- a/src/main/java/com/zy/common/web/AuthController.java +++ b/src/main/java/com/zy/common/web/AuthController.java @@ -51,6 +51,8 @@ private PermissionService permissionService; @Autowired private RolePermissionService rolePermissionService; + @Autowired + private RolePdaResourceService rolePdaResourceService; @RequestMapping("/login.action") @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "鐧诲綍") @@ -235,7 +237,6 @@ functions.put("title", "pda鍔熻兘"); functions.put("id", "function"); functions.put("spread", true); - functions.put("checked", false); List<Map> funcs = new ArrayList<>(); functions.put("children", funcs); List<PdaResource> oneLevs = pdaResourceService.selectList(new EntityWrapper<PdaResource>().eq("level", 1).eq("status", 1).orderBy("sort")); @@ -246,7 +247,7 @@ oneLevelMap.put("title", oneLev.getName()); oneLevelMap.put("id", oneLev.getId()); oneLevelMap.put("spread", true); - oneLevelMap.put("checked", true); + oneLevelMap.put("checked", false); oneLevelMap.put("children", twoLevelsList); List<PdaResource> twoLevels = pdaResourceService.selectList(new EntityWrapper<PdaResource>().eq("resource_id", oneLev.getId()).eq("level", 2).eq("status", 1).orderBy("sort")); @@ -256,7 +257,7 @@ twoLevelMap.put("title", twoLevel.getName()); twoLevelMap.put("id", twoLevel.getId()); twoLevelMap.put("spread", false); - twoLevelMap.put("checked", true); + twoLevelMap.put("checked", false); List<Map> threeLevelsList = new ArrayList<>(); twoLevelMap.put("children", threeLevelsList); // 涓夌骇 @@ -265,7 +266,7 @@ Map<String, Object> threeLevelMap = new HashMap<>(); threeLevelMap.put("title", threeLevel.getName()); threeLevelMap.put("id", threeLevel.getId()); - threeLevelMap.put("checked", true); + threeLevelMap.put("checked", false); threeLevelsList.add(threeLevelMap); } twoLevelsList.add(twoLevelMap); @@ -299,6 +300,25 @@ result.add(permission.getAction()); } } + // pda鏉冮檺 + List<RolePdaResource> rolePdaResources = rolePdaResourceService.selectList(new EntityWrapper<RolePdaResource>().eq("role_id", roleId)); + for (RolePdaResource rolePdaResource : rolePdaResources) { + PdaResource pdaResource = pdaResourceService.selectById(rolePdaResource.getResourceId()); + if (!Cools.isEmpty(pdaResource)) { + if (pdaResource.getLevel() == 1){ + List<PdaResource> pdaResources = pdaResourceService.selectList(new EntityWrapper<PdaResource>().eq("resource_id", pdaResource.getId())); + if (Cools.isEmpty(pdaResources)) { + result.add(pdaResource.getId()); + } + } + if (pdaResource.getLevel() == 2){ + List<PdaResource> pdaResources = pdaResourceService.selectList(new EntityWrapper<PdaResource>().eq("resource_id", pdaResource.getId())); + if (Cools.isEmpty(pdaResources)) { + result.add(pdaResource.getId()); + } + } + } + } return R.ok(result); } @@ -310,6 +330,7 @@ Long leaderId = role.getLeader(); roleResourceService.delete(new EntityWrapper<RoleResource>().eq("role_id", roleId)); rolePermissionService.delete(new EntityWrapper<RolePermission>().eq("role_id", roleId)); + rolePdaResourceService.delete(new EntityWrapper<RolePdaResource>().eq("role_id", roleId)); if (!Cools.isEmpty(powers)){ List<PowerDto> dtos = JSON.parseArray(powers, PowerDto.class); for (PowerDto dto : dtos) { @@ -328,30 +349,67 @@ roleResource.setResourceId(resource.getId()); roleResourceService.insert(roleResource); } + } else { - Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo())); - if (!Cools.isEmpty(permission)){ - RolePermission rolePermission = new RolePermission(); - rolePermission.setRoleId(roleId); - rolePermission.setPermissionId(permission.getId()); - rolePermissionService.insert(rolePermission); + if (dto.getTwo().substring(0,1).contains("-")) { + PdaResource pdaResource = pdaResourceService.selectOne(new EntityWrapper<PdaResource>().eq("id", dto.getTwo()).eq("level", 1)); + if (!Cools.isEmpty(pdaResource)) { + // 鏍¢獙涓婄骇鏉冮檺 + if (leaderId != null) { + RolePdaResource rolePdaResource = rolePdaResourceService.selectOne(new EntityWrapper<RolePdaResource>().eq("role_id", leaderId).eq("resource_id", pdaResource.getId())); + if (null == rolePdaResource) { + throw new CoolException(pdaResource.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName())); + } + } + RolePdaResource rolePdaResource = new RolePdaResource(); + rolePdaResource.setRoleId(roleId); + rolePdaResource.setResourceId(pdaResource.getId()); + rolePdaResourceService.insert(rolePdaResource); + } + } else { + Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo())); + if (!Cools.isEmpty(permission)){ + RolePermission rolePermission = new RolePermission(); + rolePermission.setRoleId(roleId); + rolePermission.setPermissionId(permission.getId()); + rolePermissionService.insert(rolePermission); + } } + } for (String three : dto.getThree()){ - Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).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(resource1.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName())); + if (three.substring(0,1).contains("-")) { + PdaResource pdaResource = pdaResourceService.selectOne(new EntityWrapper<PdaResource>().eq("id", three).eq("level", 2)); + if (!Cools.isEmpty(pdaResource)) { + // 鏍¢獙涓婄骇鏉冮檺 + if (leaderId != null) { + RolePdaResource rolePdaResource = rolePdaResourceService.selectOne(new EntityWrapper<RolePdaResource>().eq("role_id", leaderId).eq("resource_id", pdaResource.getId())); + if (null == rolePdaResource) { + throw new CoolException(pdaResource.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName())); + } } + RolePdaResource rolePdaResource = new RolePdaResource(); + rolePdaResource.setRoleId(roleId); + rolePdaResource.setResourceId(pdaResource.getId()); + rolePdaResourceService.insert(rolePdaResource); } - RoleResource roleResource = new RoleResource(); - roleResource.setRoleId(roleId); - roleResource.setResourceId(resource1.getId()); - roleResourceService.insert(roleResource); + } else { + Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).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(resource1.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName())); + } + } + RoleResource roleResource = new RoleResource(); + roleResource.setRoleId(roleId); + roleResource.setResourceId(resource1.getId()); + roleResourceService.insert(roleResource); + } } + } } } @@ -419,21 +477,36 @@ @RequestMapping("/menu/pda/auth") @ManagerAuth - public R menuPda(){ + public R menuPda(@RequestBody HashMap<String,String> params){ Long userId = getUserId(); - List<RolePermission> rolePermissions; + String level = params.get("level"); + Long id = Long.valueOf(params.get("id")); + List<RolePdaResource> rolePdaResources; if (userId == 9527L) { - rolePermissions = rolePermissionService.selectList(new EntityWrapper<>()); + rolePdaResources = rolePdaResourceService.selectList(new EntityWrapper<>()); } else { Long roleId = getUser().getRoleId(); - rolePermissions = rolePermissionService.selectList(new EntityWrapper<RolePermission>().eq("role_id", roleId)); + rolePdaResources = rolePdaResourceService.selectList(new EntityWrapper<RolePdaResource>().eq("role_id", roleId)); } - if (Cools.isEmpty(rolePermissions)) { + if (Cools.isEmpty(rolePdaResources)) { 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); + List<Long> collect = rolePdaResources.stream().map(RolePdaResource::getResourceId).distinct().collect(Collectors.toList()); + List<PdaResource> pdaResources = pdaResourceService.selectBatchIds(collect); + List<PdaResource> results = new ArrayList<>(); + + for (PdaResource pdaResource : pdaResources) { + if (Integer.parseInt(level) == 1) { + if (pdaResource.getLevel().equals(Short.valueOf(level))) { + results.add(pdaResource); + } + } else { + if (pdaResource.getLevel().equals(Short.valueOf(level)) && pdaResource.getResourceId().equals(id)) { + results.add(pdaResource); + } + } + } + return R.ok().add(results); } } -- Gitblit v1.9.1