• 服务合并指南

    这里以文件服务合并到平台服务为例:

    初始化表及数据

    将文件服务的表及初始化数据初始化到平台服务所在的库

    新建springboot项目

    依赖平台服务与文件服务,同时需要依赖hzero-starter-local-feign

    依赖示例如下:

    <!-- 此依赖一定要置于顶层 -->
    <dependency>
        <groupId>org.hzero.starter</groupId>
        <artifactId>hzero-starter-local-feign</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.hzero</groupId>
        <artifactId>hzero-platform-saas</artifactId>
        <version>${hzero.service.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hzero</groupId>
        <artifactId>hzero-file-saas</artifactId>
        <version>${hzero.service.version}</version>
    </dependency>
    

    hzero-starter-local-feign组件帮助我们将feign调用自动转为本地调用, 因为服务合并后没不需要再使用feign进行远程调用。

    添加注解,添加配置文件

    启动类添加注解,如下:

    @EnableHZeroPlatform
    @EnableHZeroFile
    @EnableEurekaClient
    @SpringBootApplication
    

    添加配置文件: 可以将平台服务的application.ymlbootstrap.yml配置拷贝过来。 拷贝过来之后,要注意添加合并服务的一些配置上的差别。 合并文件服务,需要在平台服务配置的基础上,添加一些配置:

    spring:
      servlet:
        multipart:
          maxFileSize: 30MB
          maxRequestSize: 30MB
    
    hzero:
      file:
        max-capacity-size: 10240MB
    

    更新接口权限

    服务正常启动后,所有接口的权限编码会有变化,需要处理平台提供的初始化权限数据:

    修改iam_permissioniam_menu_permission的数据

    DELETE FROM iam_permission WHERE code IN (
        CONCAT( 'hzero-file.', 'lov-sql.getOrgLovSqlMeaning' ),
        CONCAT( 'hzero-file.', 'lov-sql.getOrgSqlLovData' ),
        CONCAT( 'hzero-file.', 'lov-sql.getLovSqlMeaning' ),
        CONCAT( 'hzero-file.', 'rule-engine.runGroovyScript' ),
        CONCAT( 'hzero-file.', 'multi-language.listMultiLanguageHidden' ),
        CONCAT( 'hzero-file.', 'lov-sql.getSqlLovData' ),
        CONCAT( 'hzero-file.', 'flex.listColumns' ) 
        );
    UPDATE iam_permission SET code = REPLACE ( code, 'hzero-file.', 'hzero-platform.' );
    UPDATE iam_menu_permission SET permission_code = REPLACE ( permission_code, 'hzero-file.', 'hzero-platform.' );
    

    4、修改前端的路由配置