分支
用户 xiaoyi <908147524@qq.com>
星期一, 十一月 2, 2026 15:13 +0800
提交者 xiaoyi <908147524@qq.com>
星期一, 十一月 2, 2026 15:13 +0800
提交ea71e2c2c8b9ec2fe9a47fdfca6d807806a21f12
目录 3f10e3b8a66b4b295317c5c63a001eddb73a0a1d 目录 | zip | gz
上一版本 2756f7581ad6743ff796670a26787b85b8aaa2b2 查看 | 对比
fix(bpm): 修复发起流程报 500 - 流程定义编号 URL 编码归一化 + 缺失定义容错

1. 新增 BpmProcessDefinitionIdUtils,对 processDefinitionId 做幂等归一化(最多解 5 层 URL 编码),前端多编码几次也不会 500

2. BpmProcessDefinitionServiceImpl 的 getProcessDefinition / getProcessDefinitionBpmnModel / getProcessDefinitionInfo / 批量查询统一归一化;流程定义不存在时返回 null 而非抛 FlowableObjectNotFoundException

3. BpmProcessInstanceServiceImpl 的 getApprovalDetail、createProcessInstance 增加空值校验,转为明确的 PROCESS_DEFINITION_NOT_EXISTS 业务错误

4. BpmProcessDefinitionInfoMapper 查询改为取最新一条,兼容同一 processDefinitionId 多条脏数据导致的 TooManyResultsException

5. BpmProcessInstanceConvert.buildProcessInstance 容错流程定义已删除的场景
已添加1个文件
已修改5个文件
133 ■■■■■ 文件已修改
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java 2 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java 10 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionInfoMapper.java 12 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/BpmProcessDefinitionIdUtils.java 57 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmProcessDefinitionServiceImpl.java 39 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java 13 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史