Commit 0ce0c3f3d2c6a82550eaf14c64798c50557d3510
1 parent
87adf15a
【功能修复】工作流:bpmnBytes 在非 UTF-8 环境下,可能存在乱码的问题
Showing
2 changed files
with
11 additions
and
2 deletions
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java
| ... | ... | @@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModel |
| 13 | 13 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO; |
| 14 | 14 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO; |
| 15 | 15 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; |
| 16 | +import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils; | |
| 16 | 17 | import cn.iocoder.yudao.module.bpm.service.definition.dto.BpmModelMetaInfoRespDTO; |
| 17 | 18 | import org.flowable.common.engine.impl.db.SuspensionState; |
| 18 | 19 | import org.flowable.engine.repository.Deployment; |
| ... | ... | @@ -55,7 +56,7 @@ public interface BpmModelConvert { |
| 55 | 56 | BpmModelMetaInfoRespDTO metaInfo = buildMetaInfo(model); |
| 56 | 57 | BpmModelRespVO modelVO = buildModel0(model, metaInfo, null, null, null, null); |
| 57 | 58 | if (ArrayUtil.isNotEmpty(bpmnBytes)) { |
| 58 | - modelVO.setBpmnXml(new String(bpmnBytes)); | |
| 59 | + modelVO.setBpmnXml(BpmnModelUtils.getBpmnXml(bpmnBytes)); | |
| 59 | 60 | } |
| 60 | 61 | return modelVO; |
| 61 | 62 | } | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/BpmnModelUtils.java
| ... | ... | @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.framework.flowable.core.util; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ArrayUtil; |
| 5 | +import cn.hutool.core.util.StrUtil; | |
| 5 | 6 | import cn.iocoder.yudao.framework.common.util.number.NumberUtils; |
| 6 | 7 | import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnModelConstants; |
| 7 | 8 | import org.flowable.bpmn.converter.BpmnXMLConverter; |
| ... | ... | @@ -108,7 +109,14 @@ public class BpmnModelUtils { |
| 108 | 109 | return null; |
| 109 | 110 | } |
| 110 | 111 | BpmnXMLConverter converter = new BpmnXMLConverter(); |
| 111 | - return new String(converter.convertToXML(model)); | |
| 112 | + return StrUtil.utf8Str(converter.convertToXML(model)); | |
| 113 | + } | |
| 114 | + | |
| 115 | + public static String getBpmnXml(byte[] bpmnBytes) { | |
| 116 | + if (ArrayUtil.isEmpty(bpmnBytes)) { | |
| 117 | + return null; | |
| 118 | + } | |
| 119 | + return StrUtil.utf8Str(bpmnBytes); | |
| 112 | 120 | } |
| 113 | 121 | |
| 114 | 122 | // ========== 遍历相关的方法 ========== | ... | ... |