Browse Source

部署表单

caixiaofeng 2 weeks ago
parent
commit
abe1a7dc9c

+ 2 - 1
flow-workflow/flow-workflow-api/src/main/java/com/flow/service/FlowModelService.java

@@ -1,5 +1,6 @@
 package com.flow.service;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.flow.common.mybatis.service.BaseService;
 import com.flow.entity.DatasetField;
 import com.flow.entity.FlowDefine;
@@ -52,7 +53,7 @@ public interface FlowModelService extends BaseService<FlowModel> {
      * @param modelId
      * @return
      */
-    FlowDefine deploy(Long modelId);
+    FlowDefine deploy(Long modelId) throws JsonProcessingException;
 
     /**
      * 挂起/启用

+ 8 - 1
flow-workflow/flow-workflow-biz/src/main/java/com/flow/service/impl/FlowModelServiceImpl.java

@@ -1,6 +1,8 @@
 package com.flow.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.flow.common.core.exception.BaseException;
 import com.flow.common.mybatis.constant.SqlConstant;
 import com.flow.common.mybatis.service.impl.BaseServiceImpl;
@@ -49,6 +51,8 @@ public class FlowModelServiceImpl extends BaseServiceImpl<FlowModelDao, FlowMode
     @Autowired
     private FlowDefineService flowDefineService;
     @Autowired
+    private ObjectMapper objectMapper;
+    @Autowired
     private ReportTemplateService reportTemplateService;
 
     @Override
@@ -155,7 +159,7 @@ public class FlowModelServiceImpl extends BaseServiceImpl<FlowModelDao, FlowMode
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public FlowDefine deploy(Long modelId) {
+    public FlowDefine deploy(Long modelId) throws JsonProcessingException {
         FlowModel flowModel = flowModelDao.selectById(modelId);
         if (!flowModel.getEnable()) {
             throw new BaseException("模型已停用无法发布");
@@ -165,11 +169,14 @@ public class FlowModelServiceImpl extends BaseServiceImpl<FlowModelDao, FlowMode
         flowModel.setVersion(flowModel.getVersion() + 1);
         flowModelDao.updateById(flowModel);
         BpmnModel bpmnModel = flowModel.toBpmnModel();
+        FormModel formModel = flowModel.getForm();
+        String formJson = objectMapper.writeValueAsString(formModel);
         Deployment deploy = repositoryService.createDeployment()
                 .key(flowModel.getCode())
                 .name(flowModel.getName())
                 .category(flowModel.getGroupId().toString())
                 .addBpmnModel(String.format("%s.bpmn20.xml", flowModel.getName()), bpmnModel)
+                .addString(String.format("%s.form", flowModel.getName()), formJson)
                 // .enableDuplicateFiltering()
                 .deploy();
         ProcessDefinition definition = repositoryService.createProcessDefinitionQuery()

+ 2 - 1
flow-workflow/flow-workflow-controller/src/main/java/com/flow/controller/FlowModelController.java

@@ -1,5 +1,6 @@
 package com.flow.controller;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.flow.common.core.model.Result;
 import com.flow.entity.DatasetField;
 import com.flow.entity.FlowDefine;
@@ -55,7 +56,7 @@ public class FlowModelController {
     }
 
     @PostMapping("/deploy/{modelId}")
-    public Result<FlowDefine> deploy(@PathVariable Long modelId) {
+    public Result<FlowDefine> deploy(@PathVariable Long modelId) throws JsonProcessingException {
         return Result.success(flowModelService.deploy(modelId));
     }