自动化立体仓库 - WMS系统
chen.llin
昨天 d6d25613f504d8fc4c6ffa8a1854beb4dac044d0
src/main/java/com/zy/common/web/AuthController.java
@@ -146,7 +146,11 @@
            user = userService.selectById(getUserId());
            List<RoleResource> roleResources = roleResourceService.selectList(new EntityWrapper<RoleResource>().eq("role_id", user.getRoleId()));
            List<Long> resourceIds = new ArrayList<>();
            roleResources.forEach(roleResource -> resourceIds.add(roleResource.getResourceId()));
            roleResources.forEach(roleResource -> {
                if (roleResource.getResourceId() != null) {
                    resourceIds.add(roleResource.getResourceId());
                }
            });
            if (resourceIds.isEmpty()) {
                return R.ok();
            }
@@ -286,12 +290,19 @@
        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));
                Long resourceId = null;
                try {
                    resourceId = Long.parseLong(dto.getTwo());
                } catch (NumberFormatException e) {
                    // 如果无法转换为Long,可能是功能权限,跳过
                }
                if (resourceId != null) {
                    Resource resource = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", resourceId).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) {
                            RoleResource leaderRoleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource.getId()));
                            if (null == leaderRoleResource) {
                            throw new CoolException(resource.getName().concat("无法授权给").concat(role.getName()));
                        }
                    }
@@ -299,7 +310,10 @@
                    roleResource.setRoleId(roleId);
                    roleResource.setResourceId(resource.getId());
                    roleResourceService.insert(roleResource);
                } else {
                    }
                }
                // 如果不是资源ID,可能是功能权限
                if (resourceId == null) {
                    Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo()));
                    if (!Cools.isEmpty(permission)) {
                        RolePermission rolePermission = new RolePermission();
@@ -308,14 +322,22 @@
                        rolePermissionService.insert(rolePermission);
                    }
                }
                // 处理三级菜单
                for (String three : dto.getThree()) {
                    Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).eq("level", 3));
                    Long threeResourceId = null;
                    try {
                        threeResourceId = Long.parseLong(three);
                    } catch (NumberFormatException e) {
                        // 如果无法转换为Long,跳过
                        continue;
                    }
                    Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", threeResourceId).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(resource.getName().concat("的").concat(resource1.getName().concat("无法授权给").concat(role.getName())));
                            RoleResource leaderRoleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource1.getId()));
                            if (null == leaderRoleResource) {
                                throw new CoolException(resource1.getName().concat("无法授权给").concat(role.getName()));
                            }
                        }
                        RoleResource roleResource = new RoleResource();