Changelog
[2019-06-22] 本文档记录了 HZERO 0.10.0 中 网关整合、不同平台支持、平台服务、IAM服务、认证服务、调度服务 等服务的优化和BUG修复记录。
重大功能变更
- 平台各个服务支持阿里云、百度云的部署,并能使用阿里云(注册中心、配置中心)、百度云(注册中心)进行替换HZERO的相关服务
- hzero-gateway 与 hzero-gateway-helper 合并,增加产品或项目自行实现网关鉴权逻辑支持
- 提供hzero-file、hzero-message、hzero-iam、hzero-import、hzero-report、hzero-scheduler服务合并到hzero-platform平台服务的支持
- 用户增加不同端类型,同一个用户可在不同端登录和用户管理需求
- OAuth 集成 CAS 单点登录客户端
- 去除开发的微服务对 Redis、不同类型数据库的强依赖
- 去除服务应用对不同注册中心、配置中心及对应客户端的强依赖,需选择配置中心、注册中心后,自行引入相关客户端依赖,下文已提供依赖参考
- 新增新版工作流服务
hzero-workflow-plus
,在原工作流的基础上整合配置,将编辑器和服务整合在一起 - 基于 hzero-parent 统一管理版本、服务 hotfix 升级等,强烈建议各个项目或产品通过继承 hzero-parent 统一管理依赖版本
- 为了适配服务合并等操作,需要解决部分API冲突问题,对部分API有小调整,请详见下文中的说明,依赖的项目升级版本后需检查并判断是否需要调整
- 老版工作流服务
hzero-workflow
和hzero-workflow-editor
最终版本定为0.10.0.RELEASE
,后续不再提供支持,可升级使用hzero-workflow-plus
注册中心
Eureka 版本
依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
配置
eureka:
instance:
# 以IP注册到注册中心
preferIpAddress: ${EUREKA_INSTANCE_PREFER_IP_ADDRESS:true}
leaseRenewalIntervalInSeconds: 10
leaseExpirationDurationInSeconds: 30
# 服务的一些元数据信息
metadata-map:
VERSION: 0.10.0
NODE_GROUP_ID: ${HZERO_NODE_GROUP_ID:0}
PRODUCT_CODE: ${HZERO_PRODUCT_CODE:DEFAULT}
PRODUCT_VERSION_CODE: ${HZERO_PRODUCT_VERSION_CODE:DEFAULT}
PRODUCT_ENV_CODE: ${HZERO_PRODUCT_ENV_CODE:DEFAULT}
SERVICE_VERSION_CODE: ${HZERO_SERVICE_VERSION_CODE:DEFAULT}
client:
serviceUrl:
# 注册中心地址
defaultZone: ${EUREKA_DEFAULT_ZONE:http://dev.hzero.org:8000/eureka}
registryFetchIntervalSeconds: 10
disable-delta: true
Zookeeper 版本
依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
</dependency>
配置
spring:
cloud:
zookeeper:
connect-string: localhost:2181
discovery:
enabled: true
metadata:
VERSION: 0.10.0
- 注意:使用过程中需要注意zookeeper的版本对应关系,使用3.4.x版本zookeeper server时,需要先移除3.5.x.beta的zookeeper再引入3.4.x版本的zookeeper。
示例:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.12</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
Nacos(edas) 版本
依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
配置
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
namespace: 3767dfeb-ec5f-4611-97bb-ee530d19ef89
metadata:
VERSION: 0.10.0
Formula(cnap) 版本
依赖
<dependency>
<groupId>com.baidu.formula</groupId>
<artifactId>discovery-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.baidu.formula</groupId>
<artifactId>env-core-spring-boot-starter</artifactId>
</dependency>
配置
formula:
discovery:
service-url: http://cnapregistry.bj.baidubce.com:443/api/service-center
customs:
VERSION: 0.10.0
- 注意:在对接cnap的过程中需要注意,目前formula并没有提供ribbon的实现,如果服务中有使用到ribbon相关的功能(如@LoadBalance restTemplate或feign+ribbon),那么需要确保服务引入了spring-cloud-starter-netflix-ribbon。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
网关
合并 hzero-gateway-helper
-
原本
hzero-gateway
只处理请求的加工和转发,由hzero-gateway-helper
服务进行鉴权的处理。新版本将 hzero-gateway-helper 服务改造成了hzero-gateway-helper-api
和hzero-gateway-helper-default
两个 module,以依赖包的形式引入 hzero-gateway 服务。 -
hzero-gateway-helper-api
作为 hzero-gateway-helper 的 api 层,用户可以定制化自己的鉴权逻辑。 -
如果需要对鉴权逻辑进行整体改造,可以通过实现
org.hzero.gateway.helper.api.AuthenticationHelper
接口来完全定制化鉴权的部分。 -
如果仅需要对现有鉴权逻辑新增逻辑,可以通过实现
org.hzero.gateway.helper.api.HelperFilter
接口来新增鉴权逻辑。
hzero-gateway的适配改造
- 原本
hzero-gateway
仅支持注册中心为eureka
、配置中心为hzero-config
的组合,这样的组合下才能正常工作。新版本中做了注册中心适配的处理,使得 hzero-gateway 可支持任意注册中心和配置中心的组合。
注意
- 当配置中心选择
hzero-config
时,使用 hzero-gateway; - 当配置中心选择非 hzero-config(nacos或formula)时,使用
hzero-gateway-adaptive
;
配置中心
SpringCloud 版本
依赖
<dependency>
<groupId>io.choerodon</groupId>
<artifactId>choerodon-starter-config-client</artifactId>
</dependency>
配置
- hzero-config 基于 Spring Cloud Config 实现,配置方式是继承Spring Cloud Config的配置方式。
spring:
profiles:
active: ${SPRING_PROFILES_ACTIVE:default}
cloud:
config:
fail-fast: false
# 是否启用配置中心
enabled: ${SPRING_CLOUD_CONFIG_ENABLED:false}
# 配置中心地址
uri: ${SPRING_CLOUD_CONFIG_URI:http://dev.hzero.org:8010}
retry:
# 最大重试次数
maxAttempts: 6
multiplier: 1.1
# 重试间隔时间
maxInterval: 2000
# 标签
label: ${SPRING_CLOUD_CONFIG_LABEL:}
Nacos(edas) 版本
依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
配置
spring:
profiles:
active: ${SPRING_PROFILES_ACTIVE:default}
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
namespace: 3767dfeb-ec5f-4611-97bb-ee530d19ef89
Formula(cnap) 版本
依赖
<dependency>
<groupId>com.baidu.formula</groupId>
<artifactId>config-client-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.baidu.formula</groupId>
<artifactId>env-core-spring-boot-starter</artifactId>
</dependency>
配置
formula-config基于Spring Cloud Config实现,所以配置方式与 Spring Cloud Config的配置方式相似。
spring:
profiles:
active: ${SPRING_PROFILES_ACTIVE:default}
cloud:
config:
fail-fast: false
# 是否启用配置中心
enabled: ${SPRING_CLOUD_CONFIG_ENABLED:true}
# 配置中心地址
uri: ${SPRING_CLOUD_CONFIG_URI:http://cnapregistry.bj.baidubce.com:443/api/config}
retry:
# 最大重试次数
maxAttempts: 6
multiplier: 1.1
# 重试间隔时间
maxInterval: 2000
# 标签
label: ${SPRING_CLOUD_CONFIG_LABEL:}
注意:必须确保引入了spring-cloud-starter-config-client且开启配置中心,否则会启动失败。 原因:formula目前打包的all依赖formula-cnap依赖了formula-parent,但formula-parent暂未发布,所以无法为我们自动引入spring-cloud-starter-config-client等依赖。
spring.cloud.config.enabled: true
hzero-iam
功能优化
- 角色编辑、分配权限等操作,只要是属于顶级角色的子孙角色都可以进行编辑、分配权限等。只有用户的顶级角色不可再编辑。具体可参考使用文档:角色管理
- 角色分配用户时,限制可以模糊查询当前租户的用户,如果要跨租户查询其它租户的用户,必须全匹配
- 优化角色查询慢的问题
- 调整了缓存权限的 Key,有之前的
hgwh:permissions:xx
改为gateway:permissions:xx
新增功能
- 用户新增
userType
属性,表示不同端的用户类型,默认有P(中台用户)/C(C端用户)
,登录、用户查询等会控制不同端的用户。 - 用户创建(注册)时,支持自动注册用户。即如果系统中已经存在一种 P 类型的用户,在创建 C 类型的用户时,使用了相同的手机号或邮箱,则自动完成注册。就是说,一个系统,一个用户,但可以拥有多个端。
- 增加通过手机或邮箱找回密码的接口。
- 增加创建用户的内部调用接口,如果有对用户的个性化创建需求,可服务内调用该接口创建用户。
- 角色权限关系,增加接口平台的接口类型。
- 用户组管理新增用户组分配用户功能。
问题修复
代码优化
- 将所有与用户相关的公开接口提取到
HiamUserPublicController
接口类中,例如发送验证码、注册、找回密码等公开接口。 - 不同发送消息场景使用不同的模板,便于定制消息内容,如 用户注册、找回密码、修改手机 等模板
- 发送消息改为异步模式,并catch异常,避免影响主流程。
Bug 修复
- 修复角色查询、创建相关的一些问题
- 修复刷新权限时,服务名为大写的问题
- 手动调用接口缓存权限时,删除旧的缓存,避免历史数据影响鉴权
- 修复租户维护有效用户数字段名称异常问题
- 解决feign调用创建租户时报错问题
API
API 删除
-
[POST] /hzero/v1/permissions/check-permission
- 编码:hzero-iam.hiam-permission.checkPermission
- 说明:通过permission code鉴权,判断用户是否有查看的权限
- 原因:老接口,无地方使用
- 参考:/hzero/v1/menus/check-permissions
-
[GET] /hzero/v1/permissions/self
- 编码:hzero-iam.hiam-permission.pagingQuerySelfPermissionsWithLevel
- 说明:按照层次分页查询当前用户所拥有的权限
- 原因:老接口,无地方使用
- 参考:无
API 新增
-
[GET] /hzero/v1/roles/permissions/all
- 编码:hzero-iam.hiam-role.listRolePermissions
- 说明:权限分配 - 查询角色已分配分配的权限(内部调用)
-
[POST] /hzero/v1/roles/permissions/assign-direct
- 编码:hzero-iam.hiam-role.directAssignRolePermission
- 说明:权限分配 - 给角色挂权限(内部调用)
-
[PUT] /hzero/v1/roles/{roleId}/permissions/assign
- 编码:hzero-iam.hiam-role.assignRolePermissions
- 说明:权限分配 - 给角色分配权限(内部调用)
-
[PUT] /hzero/v1/roles/{roleId}/permissions/recycle
- 编码:hzero-iam.hiam-role.recycleRolePermissions
- 说明:权限分配 - 回收角色权限(内部调用)
-
[POST] /hzero/v1/users/internal
- 编码:
- 说明:创建用户 - 内部调用接口,需传入默认分配的角色
-
[POST] /hzero/v1/users/find-password/phone
- 编码:hzero-iam.hiam-user-public.findPasswordByPhone
- 说明:找回密码 - 通过手机找回密码
-
[GET] /hzero/v1/users/find-password/email
- 编码:hzero-iam.hiam-user-public.findPasswordByEmail
- 说明:找回密码 - 通过邮箱找回密码
-
[GET] /hzero/v1/users/validation/username
- 编码:hzero-iam.hiam-user-public.checkLoginNameRegistered
- 说明:用户校验 - 校验用户登录账号是否已注册
-
[GET] /hzero/v1/users/validation/phone
- 编码:hzero-iam.hiam-user-public.checkPhoneRegistered
- 说明:用户校验 - 校验用户手机号是否已注册
-
[GET] /hzero/v1/users/validation/email
- 编码:hzero-iam.hiam-user-public.checkEmailRegistered
- 说明:用户校验 - 校验用户邮箱是否已注册
新增消息模板
- HIAM.CREATE_USER 创建用户
- HIAM.REGISTER_USER 用户注册
- HIAM.FIND_PASSWORD 找回密码
- HIAM.VALIDATE_PHONE 验证码手机
- HIAM.VALIDATE_EMAIL 验证码邮箱
- HIAM.MODIFY_PHONE 修改手机
- HIAM.MODIFY_EMAIL 修改邮箱
表结构调整
调整表结构
addColumn(tableName: 'iam_user') {
column(name: "user_type", type: "varchar(30)", defaultValue: "P", remarks: "用户类型(P/C),平台用户/C端用户,默认P") {constraints(nullable:"false")}
}
hzero-oauth
功能调整
OAuth 登录相关API请参考:OAuth Token API
新增功能
- 用户登录增加 userType 控制
- 增加通过手机+验证码登录直接获取 Token 的接口
- 增加 Cas 单点登录支持
问题修复
代码优化
- 多种登录认证方式,统一数据返回结构
Bug 修复
- 修复剩余密码错误次数为负数的问题
- 支持 client_credentials 模式登录
- 修复 ERR no such key 的问题
API
API 新增
-
API删除需说明删除的API、原因、以及替换的接口等,最好的处理方式是标记过期,在下个版本中删除接口。
-
[GET] /login/init-params
- 说明:获取登录初始化参数,包含三方登录方式
-
[POST] /token/mobile
- 说明:手机+验证码登录,返回Token
hzero-platform
功能调整
功能优化
- 事件规则支持多租户
- 条目配置分配卡片时初始化排序参数,用于卡片中多个条目之间的排序使用
- 卡片管理层级参数由
site/tenant
调整为SITE/TENANT
,升级0.10.x版本时需要执行如下SQL
将层级字段的数据进行更新。
UPDATE hpfm_dashboard_card SET fd_level=
CASE fd_level WHEN 'site' THEN 'SITE'
WHEN 'tenant' THEN 'TENANT'
ELSE 'SITE' END
新增功能
- 新增值集和值集视图的复制功能,平台级可以将平台所属租户的值集或值集视图复制到指定租户上,租户级可以将平台预定义的值集或值集视图复制为当前租户的自定义值集或值集视图。
- 弹性域与用户个性化
问题修复
Bug 修复
- 修复平台多语言模糊查询失效问题。
- 修复条目配置租户级条目查询可分配卡片数据缺失的问题。
- 修复登录日志导出Excel日期格式问题。
- 修复工作台解析角色levelPath失效问题。
- 租户级添加静态文本通过id获取文本信息接口,解决op版本门户服务feign调用失败问题。
API
API 新增
- [POST] /v1/{organizationId}/lov/copy
- 编码:hzero-platform.lov-manage.copyLov
- 说明:租户级值集复制接口。
- [POST] /v1/lov/copy
- 编码:hzero-platform.lov-manage-site-level.copyLov
- 说明:平台级值集复制接口。
- [POST]/v1/{organizationId}/lov-view/copy
- 编码:hzero-platform.lov-view-manage.copyLovView
- 说明:租户级值集视图复制接口。
- [POST] /v1/lov-view/copy
- 编码:hzero-platform.lov-view-manage-site-level.copyLovView
- 说明:平台级值集视图复制接口。
- [POST] /v1/{organizationId}/static-texts/{textId}/text-value
- 编码:hzero-platform.static-text.getTextValueById
- 说明:租户级通过Id查询静态文本内容接口。
API 调整
-
[GET] /v1/{organizationId}/messages
- 编码:hzero-platform.message.messageList
- 说明:后端消息列表
- 原因:服务合并时,url冲突,url调整为/v1/{organizationId}/response-messages,编码调整为hzero-platform.response-message.messageList
- 参考:[GET] /v1/messages
-
[POST] /v1/{organizationId}/messages
- 编码:hzero-platform.message.createMessage
- 说明:创建后端消息
- 原因:服务合并时,url冲突,url调整为/v1/{organizationId}/response-messages,编码调整为hzero-platform.response-message.createMessage
- 参考:[POST] /v1/messages
-
[PUT] /v1/{organizationId}/messages
- 编码:hzero-platform.message.updateMessage
- 说明:修改后端消息
- 原因:服务合并时,url冲突,url调整为/v1/{organizationId}/response-messages,编码调整为hzero-platform.response-message.updateMessage
- 参考:[PUT] /v1/messages
-
[DELETE] /v1/{organizationId}/messages
- 编码:hzero-platform.message.removeMessage
- 说明:删除后端消息
- 原因:服务合并时,url冲突,url调整为/v1/{organizationId}/response-messages,编码调整为hzero-platform.response-message.removeMessage
- 参考:[DELETE] /v1/messages
-
[GET] /v1/{organizationId}/messages/details/{messageId}
- 编码:hzero-platform.message.messageDetails
- 说明:查询后端消息明细(编辑调用)
- 原因:服务合并时,url冲突,url调整为/v1/{organizationId}/response-messages,编码调整为hzero-platform.response-message.messageDetails
- 参考:[GET] /v1/messages/details/{messageId}
值集
过期值集(禁用)
- HPFM.DASHBOARD_CARD.LEVEL 卡片层级值集,使用 HPFM.DATA_TENANT_LEVEL 值集进行替换。
表结构调整
新增表
- hpfm_personality(个性化)
- hpfm_personality_detail(个性化明细)
- hpfm_personality_detail_tl(个性化明细多语言)
调整表结构
hpfm_dashboard_card_clause.groovy: addColumn("rank")
hpfm_event.groovy: addColumn("tenant_id"),updateUniqueConstraint("event_code -> event_code,tenant_id")
hpfm_database_tenant.groovy: updateUniqueConstraint("datasource_id,tenant_id -> database_id,tenant_id")
hzero-plugin-parent
问题修复
代码优化
- 优化员工定义删除分配岗位代码。
Bug 修复
- 修复启用状态员工无法添加缓存,禁用员工缓存无法删除的问题。
- 修复员工岗位信息与组织架构岗位分配员工信息不同步问题。
- 修复员工定义分配岗位勾选岗位失败的BUG。
API
API 新增
- [POST] /v1/units/user-ids
- 编码:hzero-platform.unit.listDepartmentUsers
- 说明:批量查询部门及其子部门下的用户id信息,within权限,用于代码内部调用。
hzero-message
功能调整
功能优化
- 事件消息支持多租户
- 接收组类型可关联用户组、组织部门等
- 接收配置多租户改造
新增功能
- 新增公告管理模块,包括公告查询,公告消息推送,公告消息获取等
- 站内消息模块添加通知、公告
问题修复
代码优化
- 优化事件消息查询sql
API
API调整
-
[GET] /v1/message-events
- 编码:hzero-message.message-event-site-level.pageMessageEvent
- 说明:事件消息接口需要的参数调整为需要输入事件编码及事件所属租户Id,为了在查询条件中控制查询结果为当前事件下维护的事件消息列表。
-
[GET] /hzero/v1/{organizationId}/receive-configs
- 编码:hzero-message.receive-config.listConfig
- 说明:接收配置列表
- 原因:之前查询所有数据,现在添加租户ID限制;平台级API同理。
-
[GET] /hzero/v1/user-receive-configs
- 编码:hzero-message.user-receive-config.listUserConfig
- 说明:用户接收配置列表
- 原因:之前查询当前用户的所有数据,现在添加租户ID限制。
-
[GET] /hzero/v1/{organizationId}/messages/user
- 编码:hzero-message.user-message.listMessage
- 说明:查询当前用户的消息列表,用于消息中心
- 原因:之前查询当前用户的所有站内消息,现在可根据用户消息类型查询站内消息或者系统消息。
值集
新增值集
- HMSG.NOTICE.NOTICE_CATEGORY 公告类别
- HMSG.NOTICE.NOTICE_TYPE 公告类型
- HMSG.NOTICE.NOTICE_TYPE.CH 公告类型-子集
- HMSG.NOTICE.RECEIVER_RECORD_TYPE 接收记录类型
- HMSG.NOTICE.RECERVER_TYPE 公告发布对象类别
- HMSG.NOTICE.STATUS 公告状态
- HMSG.RECEIVER.TYPE_MODE 接收组模式
- HMSG.USER.MESSAGE_TYPE 用户消息类型
表结构调整
新增表
- hmsg_notice 公告基础信息
- hmsg_notice_content 公告具体内容
- hmsg_notice_published 公告发布记录
- hmsg_notice_receiver 公告接收记录
- hmsg_receiver_type_line 接收者类型行表
调整表结构
hmsg_user_message.groovy: add column("user_message_type_code");update UniqueConstraint("user_id,message_id,tenant_id,user_message_type_code")
hmsg_receiver_type.groovy: add column("type_mode_code")
hmsg_receive_config.groovy: add column("tenant_id")
hmsg_user_receive_config.groovy: add column("tenant_id")
hmsg_receiver_type: dropNotNullConstraint("route_name","api_url")
hzero-portal
功能调整
- 模板维护新增全局层和租户层两个层级,全局层模板可以在平台级功能:门户分配–>门户模板定义以及租户级功能:模板配置中进行模板属性的设置。租户级模板只能在门户模板定义功能下点击分配模板分配当前集团所属租户下的模板。
- 去除了创建模板时同步初始化模板到门户分配下的逻辑。
功能优化
- 模板维护支持多租户,新增模板层级概念,优化门户分配功能
问题修复
代码优化
- 优化模板维护功能代码及模板配置代码。
Bug 修复
- 修复用户指引点击显示空白BUG
- 修复门户服务feign调用静态文本接口报错问题
API
API 新增
- [POST] /v1/templates-configs/init
- 编码:hzero-portal.templates-config-site-level.initTemplatesConfig
- 说明:初始化门户模板配置信息,门户模板配置界面设置模板前需要先将模板信息进行初始化。
- [POST] /v1/templates-configs/batch-assign
- 编码:hzero-portal.templates-config-site-level.batchAssignTemplates
- 说明:门户模板定义功能下批量分配模板调用该接口。
表结构调整
调整表结构
hptl_templates.groovy: addColumn("tenant_id","template_level"), updateUniqueConstraint("template_code" -> "template_code,tenant_id")
hzero-file
功能调整
功能优化
- 同一存储类型,支持多个配置,使用存储编码区分
- 说明:文件上传时,不指定编码,会使用默认配置,指定编码会使用默认类型的指定编码配置
新增功能
- 文件存储配置新增文件名前缀策略
- 说明:原来逻辑会在文件名前拼接uuid,保证文件不被覆盖。现在支持使用设置让文件不拼接uuid
问题修复
Bug 修复
- 处理了文件上传下载,流未关闭的问题
- 修复百度公共桶域名贫瘠额错误的问题
- 华为云、百度云新建桶允许跨域
API
API 删除
- [GET] /v1/{organizationId}/files/copy-file
- 编码:hzero-file.file-service.copyFile
- 说明:复制文件
- 原因:接口传参存在问题,服务合并无法处理,修改了传参方式
- 参考:[GET] /v1/files/copy-file
- 替换接口:[POST] /v1/{organizationId}/files/copy-file
API 新增
-
[GET] /v2/{organizationId}/storage-configs/{storageType}
- 编码:hzero-file.file-storage-config-v2.detail
- 说明:文件存储配置信息
- 参考: [GET] /v2/storage-configs/{storageType}
-
[GET] /v2/{organizationId}/storage-configs
- 编码:hzero-file.file-storage-config-v2.defaultConfig
- 说明:租户默认的存储配置信息及同类型集合
- 参考: [GET] /v2/storage-configs
-
[PUT] /v2/{organizationId}/storage-configs
- 编码:hzero-file.file-storage-config-v2.insertOrUpdate
- 说明:修改文件存储配置信息
- 参考: [PUT] /v2/storage-configs
-
[DELETE] /v2/{organizationId}/storage-configs
- 编码:hzero-file.file-storage-config-v2.deleteConfig
- 说明:删除文件存储配置信息
- 参考: [DELETE] /v2/storage-configs
-
[POST] /v1/{organizationId}/files/copy-file
- 编码:hzero-file.file-service.copyFile
- 说明:复制文件
- 参考:[POST] /v1/files/copy-file
表结构调整
调整表结构
hfle_file.groovy: addColumn(tableName: 'hfle_file') {
column(name: "storage_code", type: "varchar(" + 30 * weight + ")", remarks: "存储编码")
}
addColumn(tableName: 'hfle_storage_config') {
column(name: "prefix_strategy", type: "varchar(" + 30 * weight + ")", remarks: "文件名前缀策略")
}
hfle_storage_config.groovy: dropUniqueConstraint(tableName: 'hfle_storage_config', constraintName: 'hfle_storage_config_u1')
addColumn(tableName: 'hfle_storage_config') {
column(name: "storage_code", type: "varchar(" + 30 * weight + ")", remarks: "存储编码")
}
addUniqueConstraint(tableName: 'hfle_storage_config', columnNames: 'tenant_id,storage_type,storage_code', constraintName: 'hfle_storage_config_u1')
hzero-scheduler
功能调整
新增功能
- 调度任务添加串行并行控制
- 说明:原来的调度任务均为允许并行,串行任务表示同一任务不允许在同一时刻执行多个
问题修复
Bug 修复
- 平台级创建并发请求,选择并发程序异常的bug
API
API 新增
* [GET] /v1/concurrents/usable
* 编码:hzero-scheduler.concurrent-site-level.pageConcurrentByTenantId
* 说明:用户可选并发程序列表(平台级)
* 原因:平台级新建并发请求使用租户级的api,存在问题
值集
新增值集
- HSDR.REQUEST.CONCURRENT_SITE 并发请求选择并发程序(平台级)
表结构调整
调整表结构
hsdr_job_info.groovy: addColumn(tableName: 'hsdr_job_info') {
column(name: "serial", type: "tinyint(1)", remarks: "串行标识")
}
hzero-report
功能调整
功能优化
-
移除数据集的元数据、参数的新建功能
-
说明:元数据与参数有初始化功能,逻辑上新建是多余的且可能会出现非法字段
-
报表的文件存储参数可配置化
-
说明:方便用户自定义配置
新增功能
-
查询数据集关联的报表
-
说明:被关联的数据集不许删除,添加此功能方便用户确定依赖关系
-
报表定义新增格式掩码字段,移除小计字段
-
说明:小计字段未使用,格式掩码可以对时间,金额字段的格式作调整
问题修复
Bug 修复
- 修复租户级接口查询数据集异常的bug
- 修复报表元数据参数样式为下拉选且存在默认值导致下拉选丢失的问题
hzero-workflow
问题修复
Bug 修复
-
修复我的待办/抄送/发起/参与的流程部分查询参数无效的Bug
-
老版工作流服务
hzero-workflow
和hzero-workflow-editor
最终版本定为0.10.0.RELEASE
,后续不再提供支持,可升级使用hzero-workflow-plus
hzero-workflow-plus
新版工作流
- 新版工作流服务,在原工作流的基础上整合配置,修复若干Bug,将编辑器和服务整合在一起
新增功能
- 新增流程单据细化流程变量配置和单据
- 新增服务定义整合原表达式和远程调用配置
- 新增驳回至指定节点功能
- 新增催办功能
- 新增流程表单支持相对路径
- 简化编辑器配置
值集
新增值集
- HWFP.PROCESS_DOCUMENT 工作流-流程单据
- HWFP.DEFAULT_PROCESS_VARIABLE 流程默认参数
- HWFP.PROCESS.VARIABLE_TYPE 流程变量参数类型
- HWFP.PRPCESS_DEFINITIONS_SQL 流程启动中的流程定义
- HWFP.SERVICE.PARAMETER_SOURCE 工作流-服务参数类型
- HWFP.PROCESS_CATEGORY 工作流-流程分类
- HWFP.INTERFACE 工作流-接口定义
- HWFP.SERVICE_TYPE 工作流-服务类型
- HWFP.PROCESS_DEFINITION 流程定义
- HWFP.SERVICE_MODE 工作流-服务方式
- HWFP.PROCESS_VARIABLE_SOURCE_TYPE 流程变量数据来源
- HWFP.INTERFACE.PARAM_TYPE 工作流-接口定义参数
表结构调整
新增表
- hwfp_approval_config
- hwfp_category_document
- hwfp_form_definition
- hwfp_interface_definition
- hwfp_interface_parameter
- hwfp_process_category
- hwfp_process_document
- hwfp_process_variable
- hwfp_service_definition
- hwfp_service_parameter
- hwfp_stencil_file