public static MenuInfo buildMenuInfo(final ResourceVO resourceVO) {
            return Optional.ofNullable(resourceVO).map(item -> {
                MenuInfo menuInfo = null;
                if (!resourceVO.getResourceType().equals(ResourceTypeConstants.MENU_TYPE_2)) {
                    menuInfo = MenuInfo.builder()
                            .id(item.getId())
                            .name(item.getName())
                            .url(item.getUrl())
                            .component(item.getComponent())
                            .meta(new Meta(item.getIcon(), item.getTitle()))
                            .sort(item.getSort())
                            .build();
                    if (item.getIsLeaf().equals(Boolean.FALSE)) {
                        menuInfo.setChildren(new ArrayList<>());
                    }
                }
                return menuInfo;
            }).orElse(null);
        }
build MenuInfo.

@param resourceVO {@linkplain ResourceVO}
@return {@linkplain MenuInfo}
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/PermissionMenuVO.java