KOCA6.0.0升级说明

1、 后端

框架第三方依赖重要升级:

spring-security升级至5.7.14版本

tomcat版本升级至9.0.98

开发框架

框架整体(koca):

● 框架基于5.4.0整体适配spring-boot3以及jdk17

● 涉及部分包含koca-base,koca-boot。

● 版本5.4.0-boot3

认证框架(koca-auth):

● 添加rememberMe功能,rememberMeToken存储使用memory、redis、hazelcast、zookeeper策略

● 添加token模式下,限制用户在一个地方登录功能

● 添加webflux模式下session控制登录数量功能

影响范围:无

koca-file:

● 将hutool的文件类型解析器抽离成工具栏方法,不强制依赖hutool工具

koca-mybatis:

● 增加分页大小限制。koca.mybatis.page-max-size小于等于0不进行控制。

● 提升了函数转换的性能

koca-bex-swagger:

● 适配openapi3.0

● 支持 bex 和 springmvc 的 openapi 文档合并,支持 自定义 bex 扫描范围和 bex 分组策略

koca-kcbp:

● 优化KcxpClient实现:增加2043异常处理;xp发送消息默认msgid为空,由服务端生成;增加xp重连机制,默认网络异常会重试一次

影响范围: KcxpClient 客户端

加解密组件(koca-crypto):

● 修复配置文件解密时可能因为AppContext还未初始化造成的解密失败的问题

影响范围:无

ZK分布式锁(koca-distributed-lock-zookeeper):

● 修复主从选举器配置路径不生效问题

影响范围:无

消息队列(koca-mq):

● koca-mq-kafka订阅主题方式变更,支持简单多主题订阅

● koca-mq-kafka自带的生产者和消费者序列化和反序列化配置单独设置,不和业务配置公用

影响范围:koca-mq-kafka组件

消息中心(koca-amc):

● 支持订阅者只做元数据初始化逻辑,而不做启动拉取Kafka消息,支持API手动控制启动具体订阅者

● 偏移量管理接口支持kafka的组协调器模式的偏移量指定

影响范围:koca-amc-kafka组件

业务组件

流程管理(koca-admin-workflow):

● 流程方案:支持流程方案收藏

● 流程方案:方案实例支持查看和按版本导出

● 节点属性:支持新增操作按钮

● 节点属性:新增自由跳转功能

● 节点属性:新增向后加签功能

● 节点属性:起草节点支持退回驳回后废弃

● 节点属性:驳回支持设置第一步驳回操作的节点位置

● 节点属性:增加身份重复跳过功能

● 流程运行:我的发起增加催办功能并添加催办记录

● 流程运行:去掉后端数据权限的参数校验

● 流程运行:优化流程变量更新逻辑

● 流程运行:审批等接口增加taskId过滤

● 流程运行:修复审批记录卡死问题

● 流程运行:附件支持批量下载

● 流程查询:待办、已办、我的发起等查询列表筛选条件丰富

● 通知功能:新增通知模板配置,支持在审批、退回等环节进行通知操作

● 实例管理:流程实例增加特殊干预功能

● 实例管理:增加特权人实例管理页面

技术组件

基础组件

资管场景

交易业务框架

缓存(koca-assets-cache)

● 支持父子线程事务传递

● 提供缓存同步异常补偿策略

● 修复缓存同步分通道失败的一种情况

影响范围:无

行情客户端(koca-market)

● 新增股转做市业务申报、股转非公开转让申报、股转协议转让申报三种逐笔行情(V1&V2)

● V2主行情新增ETF实时申购笔数、ETF实时赎回笔数、债券市场总成交量、债券市场总成交金额4个字段

● 支持等待首批行情到达后再启动程序的模式

● 修复重新订阅行情产品信息失败的问题

● V2主行情涨跌停价做默认格式化处理

影响范围:V2主行情结构体适配1009版本行情插件,两者需要同步升级

高速消息通信框架(koca-hare)

● 默认hare依赖升级至2.4.6

● 发布主题始终开启远端重演选项,和C++底层推荐默认值一致

● 优化defaultSerializer逻辑,不强制必须配置该项,若未配置将根据引入依赖进行加载

● 主题级别配置新增forward转发配置项,用于控制消息在发送或者接收时先写文件进行持久化再发送或者消费

● 支持上下文的动态销毁

● 修复组播场景下,A、B两个节点以同一个requestId发送消息,C节点收到消息后返回应答,A节点优先收到给B节点的应答进行丢弃,导致的超时问题

● hare返回响应时带token

● 拆分服务端和客户端线程池

● 消费线程池触发拒绝策略时增加日志打印

● 新增请求处理耗时日志打印

● 新增支持链路追踪

● 规范通信错误码

影响范围:1.koca-jstp-core需要升级到6.0.0及以上版本 2.koca-trace-core需要升级到6.0.0及以上版本

JSTP协议核心包(koca-jstp-core)

● 适配C++ jstpPack203版本结果集长度变为定长改动,打包解包支持203版本,兼容202版本

● 精简依赖,排除非必要依赖项

● 制定koca-biz通信错误码规范

影响范围:无

JSTP服务端(koca-jstp-server)

● 规范通信错误码

● 优化链路追踪功能

影响范围:1.koca-jstp-core需要升级到6.0.0及以上版本 2.koca-trace-core需要升级到6.0.0及以上版本

JSTP客户端(koca-jstp-client)

● 规范通信错误码

● 优化链路追踪功能

影响范围:1.koca-jstp-core需要升级到6.0.0及以上版本 2.koca-trace-core需要升级到6.0.0及以上版本

KGBP客户端(koca-kgbp-client)-用于请求KGMS网关

● koca-kgbp-client 升级kgbp cli依赖,支持分包能力

● 修改打包解包逻辑,不再使用java原生实现,改为使用jni实现

● 支持配置当所连网关断开后,是否切换连接到其集群网关

● 优化连接轮转策略

● 支持连接异常切换策略

● 规范通信错误码

● 优化链路追踪功能

影响范围:1.koca-jstp-core需要升级到6.0.0及以上版本 2.koca-trace-core需要升级到6.0.0及以上版本

远程调用框架(koca-biz-prc)

● koca-rpc-kgbp-client 支持传入集群地址调用

影响范围:无

KGBP服务端(koca-kgbp-server)-使用Hare通信的多通道架构

● 适配koca-biz通信错误码规范

● hare返回响应带token,不必向所有连接都发送消息

影响范围:koca-jstp-core需要升级到6.0.0及以上版本

KMDB内存数据库(koca-mdb-core):

● JNI底层直接导入CSV文件时,不再清空表数据

● 更新flush接口,新增maxSizePerPacket参数,用于设置单次刷库最大的封包大小

● 新增添加字段过滤函数JNI接口,用于向游标中添加字段过滤条件

● 优化Conditions free方法锁

● 修复ob刷库(flush)功能遇到业务数据带单引号,双引号,反斜杠报错问题

影响范围:6.0.0之前的版本升级到此版本需要铲库

数据同步(koca-data-sync)

● 添加Idempotent的查询接口

● 添加DataSyncMessage的增删改接口

● 查询sql增加排序条件

● 日志类按照msgId降序

● 修复若干查询接口的bug

影响范围:无

广播数据同步(koca-data-sync-broadcast)

● 当服务Log重试更新成功后,更新Message的状态

● BroadcastRegister广播返回Future,用户选择是否调用阻塞

● 添加线程池参数配置

● 增加若干广播结果日志打印

● 修复ArrayList因并发问题,导致存入list的时候为null的问题

● 添加当发送逻辑被事务包含的处理: 事务提交后再发送广播

● 去除参数转换表KOCA_BROADCAST_SYNC_TRANSFORM_PROP强依赖

影响范围:无

链路追踪(koca-trace-core)

● 修复不恰当的spanId生成逻辑

● 支持输出链路追踪日志到koca-trace.log

影响范围:无

2、 前端

升级指南

V5.4.0 升级 V6.0.0

KOCA依赖升级

pnpm add @szkingdom.koca/ui@6.0.0-s

pnpm add @szkingdom.koca/icons-vue@5.3.0 -s

pnpm add @szkingdom.koca/template@6.0.0 -s

pnpm add @szkingdom.koca/eslint-config@5.0.0 -s

pnpm add @szkingdom.koca/bundler-vite@6.0.0-d

KOCA-TEMPLATE 更新日志

新特性

框架

bundler-vite

  • 添加 top-level-await 配置

  • 修复pnpm report失败错误

Bug 修复

框架

  • 修复退出后换个账号登录,权限没有改变问题

  • 修复导航布局切换到mix-sidebar-sub时页签宽度不正确问题

  • 修复mix模式下系统名称过长会与菜单重叠的问题

  • 修复页签功能面板打开后,出现错位的问题

  • 修复页签右键面板被遮挡的层级问题

系统设置

  • 修复字典列表无法滚动查看全量数据的问题

用户管理

  • 调整密码重置抽屉宽度

租户管理

  • 调整租户地址从列表文件中提取

定时任务

  • 功能调整

通用查询

  • 修复编辑过滤器后查询时参数未更新问题

脚手架

  • 修复windows环境下不合并config.jsonmain.ts文件的问题

  • 兼容合并main.ts时新文件行后有\r的情况

优化

卡片组件

  • 修复组件卡片高度抖动,下边距太小的问题

KOCA-UI更新日志

新特性

kui-page

  • 列设置支持拖动排序

kui-upload

  • 新增 v-modelv-model:fileList 属性

kui-bond

  • 新增 v-model:modelValueObj 属性

kui-table

  • 大数据表格的 type: select 列支持 reserve 属性

  • 大数据表格支持将树形数据和列表数据渲染为树形表格

  • 开启 reserve 后,大数据表格方法 getSelection 支持返回跨分页的选中

  • 大数据表格支持 html 类型的tooltip

kui-cron

  • 新增 update-cron-description 事件和 getChineseCronDescription 方法

kui-process-designer

  • 新增resizable属性,节点是否可调整大小

缺陷修复

kui-table

  • 修复大数据表格设置过滤列的 filters 属性不支持响应式修改

  • 修复开启rem布局和单元格tooltip后,tooltip是否显示的计算不准确

  • 修复tableItem配置show-overflow-tooltip非驼峰写法不生效问题

kui-list

  • 修复项目中切换组件宽松紧凑报错

kui-tree

  • 修复项目中切换组件宽松紧凑报错

kui-tabs

  • 修复项目中切换组件宽松紧凑报错

kui-time-range

  • 修复项目中切换组件宽松紧凑报错

kui-number-format

  • 修复在千分位时输入 0.00000000001 会出现科学计数法

  • 修复 variant 属性没有生效

kui-form

  • 修复表单项的 appendprepend 中使用 kui-select 时,表单校验会使 kui-select 的校验图标显示出来

  • 修复表单项为input时配置prependappend导致重复渲染问题

kui-bond

  • 修复当选项的value相同,label不同时,下拉框会渲染出重复的选项

  • 修复选中数据后高度抖动问题

kui-select

  • 修复同时开启 showPanelExpandcheckAllMode=filtered 后,全选选中的数据不对

  • 修复options变化后,已选中的选项顺序会从顶部还原的问题

  • 修复tag数量长度超出问题

  • 修复通过loadFilter改变options时,数据不生效问题

  • 修复面板模式右侧面板label不翻译的问题

  • 修复面板模式过滤筛选导致option空白占位的问题

  • 修复display:none状态下autoWidth无法提前准确计算宽度的问题

kui-table-edit

  • column 配置的事件的回调函数添加当前行数据

  • 新增 beforeAddbeforeDelete 属性

kui-sform

  • 修复设置表单项 labelname 时,显示异常

kui-date

  • 修复配置valueFormatx时回显错误问题

kui-input

  • 修复append和prepend配置color不生效问题

kui-process-designer

  • 清空功能替换成删除

  • 泳道bug修复

kui-page

  • transDelData方法修复

优化

kui-table

  • 样式调整

  • 大数据表格设置过滤列的 filters 的 value 支持数值类型

  • 表格列column配置属性 renderTooltip 添加参数

  • 大数据表格底层依赖vxe-table版本从 4.5.14 升级到 4.9.20

  • 多选列对齐

kui-select

  • 样式调整

kui-date

  • 样式调整

kui-tree

  • 样式调整

kui-empty

  • 图片使用 background-image 方式代替 img

kui-input

  • 重构内容的 tooltip 功能,去除属性 tooltip-max-width

kui-message-box

  • 样式调整

kui-form-page

  • 添加展开收起时的过渡动画

kui-cron

  • 优化文案

  • 兼容 vue2 版本的cron表达式的值,指定类型的数据兼容补0的情况

kui-form

  • 调整form 组件slot 为function

kui-checkbox

  • 调整checkbox 属性从element-plus 中引入

取消element-plus组件重复全局注册

ASSETS-UI更新日志

新特性

kace-page

  • 新增 show-table-loading 属性

kace-table-page

  • 新增 trans-export-params 属性

  • 新增 is-need-export-column 属性

kace-form

  • 新增 foldable 属性

  • 新增 is-show-no-change-tip 属性

  • 新增 no-change-tip-props 属性

kace-meta-form

  • 支持自定义栅格布局

  • 新增 gutter 属性

缺陷修复

kace-page

  • 修复 search-form-position 设置为 bottom 时,组件的 suffix-icon 无法去除

kace-table

  • 修复操作列位置始终出现在最侧边,导致 select 列无法设置到最左侧问题

kace-split

  • 修复 left-min-size没有支持响应式

kace-meta-form

  • 修复 action 为 U 时,判断表单数据是否修改没有区分 0 和 ‘’

  • 修复内部表单项组件在 value 修改后的样式问题

优化

kace-page

  • 优化面板样式

kace-table-page

  • 文件导出使用 http 方式代替 window.open 方式

  • 文件导出的列去除所有 type 类型的列

kace-form

  • 内部的 kui-select 组件的 options 数量超过5条后不再默认设置 checkAll 属性,通过设置 kui-selectcheckAllThreshold 属性实现原有效果

kace-collapse

  • 展开和收起状态时,分别添加 is-expandedis-collapsed class