From ccb933362251344091a3881a4950dcab33c5008f Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期六, 28 三月 2020 11:47:55 +0800
Subject: [PATCH] no message

---
 src/main/java/com/highdatas/mdm/service/act/impl/RepositoryServiceImpl.java |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/act/impl/RepositoryServiceImpl.java b/src/main/java/com/highdatas/mdm/service/act/impl/RepositoryServiceImpl.java
index 9396e88..900f844 100644
--- a/src/main/java/com/highdatas/mdm/service/act/impl/RepositoryServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/act/impl/RepositoryServiceImpl.java
@@ -6,6 +6,7 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.highdatas.mdm.pojo.Result;
+import com.highdatas.mdm.process.canvas.ProcessDiagramGenerator;
 import com.highdatas.mdm.util.WorkflowUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.activiti.bpmn.converter.BpmnXMLConverter;
@@ -14,6 +15,7 @@
 import org.activiti.editor.constants.ModelDataJsonConstants;
 import org.activiti.editor.language.json.converter.BpmnJsonConverter;
 import org.activiti.engine.ActivitiException;
+import org.activiti.engine.HistoryService;
 import org.activiti.engine.RepositoryService;
 import org.activiti.engine.repository.Deployment;
 import org.activiti.engine.repository.Model;
@@ -32,7 +34,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
-import org.springframework.util.ClassUtils;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -51,6 +52,9 @@
 	private static final String MODEL_DESCRIPTION = "description";
 	@Autowired
 	RepositoryService service;
+	@Autowired
+	HistoryService historyService;
+
 	@Autowired
 	ObjectMapper objectMapper;
 	@Value("${img.url}")
@@ -71,7 +75,34 @@
         response.flushBuffer();
 	}
 
-    public boolean updateProcessDefStatus(String type, String modelId) {
+	@Override
+	public InputStream getModelImg(String modelId) {
+        InputStream resource = null;
+        try{
+            Model model = service.createModelQuery().modelId(modelId).singleResult();
+            JsonNode editorNode = new ObjectMapper().readTree(service.getModelEditorSource(model.getId()));
+            BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
+            BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode);
+            ProcessDiagramGenerator diagramGenerator = new ProcessDiagramGenerator();
+            resource = diagramGenerator.generateDiagram(bpmnModel, "png",null,null, "瀹嬩綋","瀹嬩綋" ,null, null,0);
+            return resource;
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+        finally {
+            if (resource != null) {
+                try {
+                    resource.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+	}
+
+	public boolean updateProcessDefStatus(String type, String modelId) {
 		Model model = service.createModelQuery().modelId(modelId).singleResult();
 		ProcessDefinition processDefinition = service.createProcessDefinitionQuery().deploymentId(model.getDeploymentId()).singleResult();
 		String processDefinitionId = processDefinition.getId();

--
Gitblit v1.8.0