服务合并指南
这里以文件服务合并到平台服务为例:
初始化表及数据
将文件服务的表及初始化数据初始化到平台服务所在的库
新建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.yml
和bootstrap.yml
配置拷贝过来。
拷贝过来之后,要注意添加合并服务的一些配置上的差别。
合并文件服务,需要在平台服务配置的基础上,添加一些配置:
spring:
servlet:
multipart:
maxFileSize: 30MB
maxRequestSize: 30MB
hzero:
file:
max-capacity-size: 10240MB
更新接口权限
服务正常启动后,所有接口的权限编码会有变化,需要处理平台提供的初始化权限数据:
修改iam_permission
、iam_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.' );