From 0896593146e8896359081f749484bf86901ac260 Mon Sep 17 00:00:00 2001 From: gnomeshgh <18153063927@163.com> Date: Fri, 3 Jul 2026 23:10:08 +0800 Subject: [PATCH] feat(bpm):新增流程模型操作导出模型json接口 --- yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java | 8 ++++++++ yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java | 12 ++++++++++++ yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java | 8 ++++++++ yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java | 6 ++++++ 4 files changed, 34 insertions(+), 0 deletions(-) diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java index bdc84f1..f6c71c7 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java @@ -117,6 +117,14 @@ public class BpmModelController { return success(BpmModelConvert.INSTANCE.buildModel(model, bpmnBytes, simpleModel)); } + @GetMapping("/export") + @Operation(summary = "导出模型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:model:export')") + public CommonResult exportModel(@RequestParam("id") String id) { + return success(modelService.exportModel(id)); + } + @PostMapping("/create") @Operation(summary = "新建模型") @PreAuthorize("@ss.hasPermission('bpm:model:create')") diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java index 2101b22..68d62a0 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java @@ -111,6 +111,18 @@ public interface BpmModelConvert { model.setMetaInfo(JsonUtils.toJsonString(BeanUtils.toBean(reqVO, BpmModelMetaInfoVO.class))); } + default BpmModelSaveReqVO convertToSaveReqVO(Model model) { + BpmModelMetaInfoVO metaInfo = parseMetaInfo(model); + BpmModelSaveReqVO reqVO = new BpmModelSaveReqVO(); + reqVO.setKey(model.getKey()); + reqVO.setName(model.getName()); + reqVO.setCategory(model.getCategory()); + if (metaInfo != null) { + BeanUtils.copyProperties(metaInfo, reqVO); + } + return reqVO; + } + default BpmModelMetaInfoVO parseMetaInfo(Model model) { BpmModelMetaInfoVO vo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoVO.class); if (vo == null) { diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java index c0f2672..9325493 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java @@ -49,6 +49,14 @@ public interface BpmModelService { String importModel(@Valid BpmModelSaveReqVO reqVO); /** + * 导出流程模型 + * + * @param id 编号 + * @return 导出的流程模型 + */ + BpmModelSaveReqVO exportModel(String id); + + /** * 获得流程模块 * * @param id 编号 diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java index aa00057..2d81cee 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java @@ -143,6 +143,12 @@ public class BpmModelServiceImpl implements BpmModelService { } @Override + public BpmModelSaveReqVO exportModel(String id) { + Model model = validateModelExists(id); + return BpmModelConvert.INSTANCE.convertToSaveReqVO(model); + } + + @Override @Transactional(rollbackFor = Exception.class) // 因为进行多个操作,所以开启事务 public void updateModel(Long userId, BpmModelSaveReqVO updateReqVO) { // 1. 校验流程模型存在 -- libgit2 0.21.4