From 2fc8dd46527fbf2efd21e6a95ccc5efb099a7d69 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期五, 20 八月 2021 22:19:31 +0800
Subject: [PATCH] 合并master
---
service-common/src/main/java/com/java110/common/api/WorkflowApi.java | 121 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 120 insertions(+), 1 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/api/WorkflowApi.java b/service-common/src/main/java/com/java110/common/api/WorkflowApi.java
index 25e2fb5..7f1f6bd 100755
--- a/service-common/src/main/java/com/java110/common/api/WorkflowApi.java
+++ b/service-common/src/main/java/com/java110/common/api/WorkflowApi.java
@@ -1,14 +1,61 @@
package com.java110.common.api;
+import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import com.java110.common.bmo.workflow.IQueryWorkFlowFirstStaffBMO;
import com.java110.dto.workflow.WorkflowDto;
+import com.java110.dto.workflow.WorkflowModelDto;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.activiti.editor.constants.ModelDataJsonConstants;
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.ProcessEngines;
+import org.activiti.engine.RepositoryService;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.repository.Deployment;
+import org.activiti.engine.repository.Model;
+import org.apache.batik.transcoder.TranscoderInput;
+import org.apache.batik.transcoder.TranscoderOutput;
+import org.apache.batik.transcoder.image.PNGTranscoder;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
@RestController
@RequestMapping("/workflow")
public class WorkflowApi {
+ private static final Logger logger = LoggerFactory.getLogger(WorkflowApi.class);
+
+ @Autowired
+ private RepositoryService repositoryService;
+
+ @Autowired
+ private ObjectMapper objectMapper;
+
+
+
+ String MODEL_ID = "modelId";
+ String MODEL_NAME = "name";
+ String MODEL_REVISION = "revision";
+ String MODEL_DESCRIPTION = "description";
+
+
@Autowired
private IQueryWorkFlowFirstStaffBMO queryWorkFlowFirstStaffBMOImpl;
@@ -23,4 +70,76 @@
workflowDto.setStoreId(storeId);
return queryWorkFlowFirstStaffBMOImpl.query(workflowDto);
}
+
+
+ /**
+ * 鏇存柊娴佺▼
+ *
+ * @param reqString 妯″瀷ID
+ * @ServiceCode /workflow/saveModel
+ */
+ @RequestMapping(value = "/saveModel", method = RequestMethod.POST)
+ @ResponseStatus(value = HttpStatus.OK)
+ public ResponseEntity<String> saveModel(
+ @RequestBody String reqString) {
+ JSONObject reqJson = JSONObject.parseObject(reqString);
+ WorkflowModelDto workflowModelDto = BeanConvertUtil.covertBean(reqJson, WorkflowModelDto.class);
+
+ //閮ㄧ讲model
+ return queryWorkFlowFirstStaffBMOImpl.saveModel(workflowModelDto);
+
+ }
+
+ /**
+ * 閮ㄧ讲娴佺▼
+ *
+ * @param reqString 妯″瀷ID
+ * @ServiceCode /workflow/deployModel
+ */
+ @RequestMapping(value = "/deployModel", method = RequestMethod.POST)
+ @ResponseStatus(value = HttpStatus.OK)
+ public ResponseEntity<String> deployModel(
+ @RequestBody String reqString) {
+ JSONObject reqJson = JSONObject.parseObject(reqString);
+ WorkflowModelDto workflowModelDto = BeanConvertUtil.covertBean(reqJson, WorkflowModelDto.class);
+
+ //閮ㄧ讲model
+ return queryWorkFlowFirstStaffBMOImpl.deployModel(workflowModelDto);
+
+ }
+
+
+ /**
+ * 鑾峰彇model鐨勮妭鐐逛俊鎭紝缂栬緫鍣ㄦ牴鎹繑鍥炵殑json杩涜缁樺浘
+ *
+ * @param modelId
+ * @return
+ * @ServiceCode /workflow/getEditorJson
+ */
+ @SuppressWarnings("deprecation")
+ @RequestMapping(value = "/getEditorJson", method = RequestMethod.GET)
+ public ResponseEntity getEditorJson(@RequestParam(value = "modelId") String modelId) {
+ ObjectNode modelNode = null;
+ Model model = repositoryService.getModel(modelId);
+ if (model != null) {
+ try {
+ if (StringUtils.isNotEmpty(model.getMetaInfo())) {
+ modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
+ } else {
+ modelNode = objectMapper.createObjectNode();
+ modelNode.put(MODEL_NAME, model.getName());
+ }
+ modelNode.put(MODEL_ID, model.getId());
+ ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
+ new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
+ modelNode.put("model", editorJsonNode);
+ } catch (Exception e) {
+ logger.error("Error creating model JSON", e);
+ throw new ActivitiException("Error creating model JSON", e);
+ }
+ }
+ return new ResponseEntity(modelNode.toString(), HttpStatus.OK);
+ }
+
+
}
--
Gitblit v1.8.0