Changelog
本文档记录了 HZERO 1.0.0 中 发布的新服务、组件、服务优化和BUG修复记录等。
1.0.0.RELEASE
- 时间:2019-09-08
- hzero-parent:1.0.0.RELEASE
starter 组件
组件调整
- 将原 choerodon-starter-(core/oauth-resource/swagger) 源码提取到 hzero-starter-core 下,增强部分功能
- 将原 choerodon-starter-mybatis-mapper 源码提取到 hzero-starter-mybatis-mapper 下,增强部分功能
- 将原 choerodon-starter-hitoa 源码提取到 hzero-starter-hitoa 下,增强部分功能
- 将原 choerodon-starter-config-client 源码提取到 hzereo-starter-config-client 下,解决 hzero-gateway 强依赖 choerodon-starter-config-client 的问题
- 将原 hzero-boot-interface 客户端组件拆分成 hzero-boot-interface 平台客户端组件和 hzero-starter-integration-sdk 外部系统使用SDK组件
- 新增 hzero-starter-social-core、hzero-starter-social-qq、hzero-starter-social-wechat 三方登录组件
hzero-starter-core
EncryptionUtils
加密工具扩展 RSA 加密,支持加盐与不加盐加密CustomUserDetails
添加可选平台角色列表、可选租户角色列表、是否合并角色标记、租户编号CustomClientDetails
添加当前租户和当前角色RedisHelper
增加blpop/brpop
方法- 增加
TokenUtils
获取当前请求 access_token - 增加
DetailsExtractor
工具,用于解析 Jwt_token,转成 CustomUserDetails ApplicationContextHelper
增加异步设置 bean 的方法
其它组件
- 导出增加异步导出、多 Sheet 页导出,页面导出时用户可选择是否异步导出
feign-replay
增加FeignRequestInterceptor
接口,可通过实现此接口对 Feign 调用进行拦截处理,并支持指定顺序- 添加websocket前端消息处理,完善websocket消息监听
boot 组件
新增组件
- 新增 hzero-boot-api-customize API 客制化客户端组件
- 新增 hzero-boot-data-change 数据变更识别及发布组件
- 新增 hzero-boot-monitor 数据审计客户端组件
- 新增 hzero-boot-oauth OAuth 客户端组件
hzero-boot-import
- 替换百度校验器,原有自定义校验逻辑要做相应调整,具体变化参考导入客户端文档
- 添加CSV同步与异步导入
- 校验允许校验已经失败的数据、数据允许重复校验
- 添加导入管理和进度查询
- 1.0.0的客户端表发生了变化,需要开启
init-table
配置,更新表结构
功能优化
- 修复大量已知Bug
- 优化数据权限,减少反射取值次数,参数添加集合支持,添加角色合并集合支持
- 调用次数预警信息使用多语言
- 执行器可手动指定注册地址,可指定多个执行器编码
- file 客户端添加CSV模板下载
- message 客户端添加获取消息公告客户端,添加邮件抄送、密送
- workflow 客户端添加根据businessKey撤回流程
hzero-gateway
功能优化
- 去除 choerodon 依赖,新增 hzero-starter-config-client 配置中心客户端组件,作为 hzero-config 服务的客户端组件使用
- 服务路由不存在时,返回
503 SERVICE_UNAVAILABLE
- JWT Token 的加密签名默认值由
choerodon
改为hzero
,如果网关升级1.0,其他服务不升级,需要在网关调整配置hzero.oauth-jwt-key: choerodon
或者在其他0.X的服务中添加配置choerodon.oauth-jwt-key: hzero
hzero-config
功能优化
- 自动刷新服务路由时,不再支持自动处理带后缀(如工号)的服务名,本地开发时,需自行在
ExtraDataManager
中配置带后缀的路由,例如:
@ChoerodonExtraData
public class ConfigExtraDataManager implements ExtraDataManager {
@Override
public ExtraData getData() {
ChoerodonRouteData routeData = new ChoerodonRouteData();
routeData.setName("demo-xxx");
routeData.setPath("/demo-xxx/**");
routeData.setServiceId("hzero-demo-xxx");
routeData.setPackages("org.hzero.demo");
extraData.put(ExtraData.ZUUL_ROUTE_DATA, routeData);
return extraData;
}
}
hzero-iam
功能优化
- 去除
iam-service
依赖,将 Ldap、客户端、安全策略 功能提取到 hzero-iam 服务中 - 子账户管理:支持设置账号,不输入则由系统自动生成;支持不输入密码,默认使用租户安全策略中的默认密码
- 密码策略:原密码策略功能更改为安全策略,增加 PC端允许多处登录、移动端允许多处登录 配置
- 角色:角色编码去掉 role/level/custom 前缀,levelPath 使用编码作为路径,避免ID作 levelPath 的可变性
- 菜单:租户级菜单支持客户化菜单,展示平台标准菜单及租户客户化菜单;菜单 levelPath 使用编码作为路径,避免ID作 levelPath 的可变性
- 客户端:支持分配多个租户的角色
- 三方应用管理:三方应用增加渠道(pc/ios/android),去除三方授权地址等配置;个人中心优化三方账号绑定,支持绑定 QQ 账号和 微信账号
- 数据权限:支持使用
#{tableAlias}
的方式获取拦截表的表别名 - 单据权限:当子账户层没有维护任何权限的时候,使用角色层权限数据
- 租户维护:添加租户名称多语言
- 二级域名:增加单点退出地址、SAML 元数据地址
新增功能
- 新增平台级客户端功能,支持在平台维护客户端及分配客户端角色
- 新增角色树形管理,可树形查看角色
- 新增 Ldap 同步用户记录查看页面、同步用户错误详情查看页面
- 新增客户化菜单的导入导出功能
- 新增角色合并,可在系统配置或个人中心启用角色合并,支持同一层级的角色合并,若有多个层级的角色,则每个层级的角色合并为一个。若只有一个层级,则不展示当前角色。
- 发送手机验证码支持国际冠码
表变更
- 删除 iam-service 依赖中无用的表,新版本中将删除如下表,请自行决定是否删除。
fd_audit
fd_lookup
fd_lookup_tl
fd_lookup_value
fd_lookup_value_tl
fd_organization
fd_project
fd_project_relationship
fd_project_type
iam_application
iam_application_exploration
iam_book_mark
iam_dashboard
iam_dashboard_role
iam_group
iam_menu_config
iam_system_setting
iam_upload_history
iam_user_dashboard
oauth_login_attempt_times
oauth_login_history
hzero-oauth
功能优化
- 移除
oauth-server
依赖,将密码策略、客户端、Ldap等提取到hzero-boot-oauth
客户端组件 - 标准登录页面优化,增加短信验证码登录方式
- 登录时密码传输使用 RSA 加密后传输,升级时请更新配置文件
- 单点登出功能优化
- 修复已知Bug
新增功能
- 支持 QQ、微信 三方登录,增加移动端三方登录API,需自行在三方应用管理功能下配置三方信息
- 增加 hzero-starter-social-(core/qq/wechat) 组件,可快速在 core 组件基础上开发客制化的三方登录方式
- 支持集成 SAML 2.0 协议单点登录
- 登出日志记录
- 支持配置
client_credentials
模式返回 refresh_token
hzero-platform
功能优化
- 优化数据源功能,支持关联自定义驱动进行保存。新增测试连接接口,目前暂无法测试自定义驱动连接。
- 平台多语言支持一次性维护多种语言的描述信息
- 优化员工工具类
EmployeeHelper
,增加按照员工编码获取员工的接口 - 租户维护添加多语言。初始化多语言数据sql如下(语言需要插入’zh_CN’和’en_US’两种,需要自行修改):
- 修复已知Bug
新增功能
- 自定义数据源驱动维护功能
- 新增数据层级配置功能
- 新增 API 个性化功能
新增值集
- HPFM.DATASOURCE_DRIVER 数据源驱动值集 SQL值集
- HPFM.DATA_HIERARCHY 查询数据层级值集
新增表
- hpfm_datasource_driver (数据源驱动表)
- hpfm_lov_view_header_tl(值集视图头多语言表)
- hpfm_lov_view_line_tl(值集视图行多语言表)
- hpfm_data_hierarchy (数据层级配置)
hzero-file
功能优化
- 根据文件key下载文件的逻辑做了调整,不再使用重定向下载逻辑
hzero-scheduler
功能优化
- 执行器自动注册允许手动指定IP
- 执行器自动注册允许指定多个编码
- 调度日志存储允许使用文件服务和数据库存储两种方式,但数据库存储最多存储2000个字符
- 调度任务添加
初始化标识
字段,启用该标识,任务会在调度服务启动后自动初始化
hzero-import
功能优化
- 服务端导入添加事务控制
- 添加CSV文件支持
hzero-message
功能优化
- 消息公告添加客户端feign调用接口,用于查询公告标题及公告内容信息
- 邮件发送支持抄送、密送
hzero-pay
功能优化
- 支付配置及证书添加缓存
- 优化微信支付的支付方IP获取逻辑
- 添加定时任务,执行未正常结束的支付回调
hzero-workflow-plus
功能优化
- 优化工作流表达式配置方式
- 优化工作流查询待办
- 修复已知Bug
新增功能
- 工作流新增审批时指定后续节点审批人功能
- 工作流新增审批时指定后续节点跳转功能
- 工作流新增审批时流程图预览预测功能
新增值集
- HWFP.PROCESS_OPERATOR 工作流表达式操作符
- HPFM.DATA_HIERARCHY 平台服务查询数据层级值集
新增表
- hpfm_data_hierarchy
hzero-interface
功能优化
- hzero-boot-interface 接口平台客户端组件拆分成两个组件。HZERO 框架体系内接口平台接口调用使用
hzero-boot-interface
,外部系统使用hzero-starter-integration-sdk
调用。 - 接口平台发布地址字段变更,原本的 organizationId 被 nameSpace 字段代替,nameSpace等同于租户编码。租户编码可从当前上下文环境直接获取。此外为了兼容以前的数据需要在接口平台数据库下执行如下