diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/pom.xml b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/pom.xml index 3bc851d19..f04b78fe4 100644 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/pom.xml @@ -13,7 +13,7 @@ jar - 5.22.0 + 6.0.0 @@ -60,39 +60,6 @@ - - org.activiti - activiti-explorer - ${activiti.version} - - - vaadin - com.vaadin - - - dcharts-widget - org.vaadin.addons - - - activiti-simple-workflow - org.activiti - - - slf4j-log4j12 - org.slf4j - - - - - org.activiti - activiti-diagram-rest - ${activiti.version} - - - org.activiti - activiti-modeler - ${activiti.version} - diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/processon/yishi.bpmn b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/processon/yishi.bpmn new file mode 100644 index 000000000..33cdd1a32 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/processon/yishi.bpmn @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/ActivitiApplication.java b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/ActivitiApplication.java index 3ff8e300a..c8bcbea4c 100644 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/ActivitiApplication.java +++ b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/ActivitiApplication.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2018 人人开源 All rights reserved. - * + *

* https://www.renren.io - * + *

* 版权所有,侵权必究! */ @@ -20,8 +20,8 @@ import org.springframework.cloud.openfeign.EnableFeignClients; * @since 1.1.0 */ @SpringBootApplication(exclude = { - org.activiti.spring.boot.SecurityAutoConfiguration.class, - org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class + org.activiti.spring.boot.SecurityAutoConfiguration.class, + org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class }) @EnableDiscoveryClient @EnableFeignClients diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/controller/ActModelController.java b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/controller/ActModelController.java deleted file mode 100644 index 918fa9e83..000000000 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/controller/ActModelController.java +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Copyright (c) 2018 人人开源 All rights reserved. - * - * https://www.renren.io - * - * 版权所有,侵权必究! - */ - -package com.elink.esua.epdc.controller; - -import com.elink.esua.epdc.commons.tools.annotation.LogOperation; -import com.elink.esua.epdc.commons.tools.constant.Constant; -import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; -import com.elink.esua.epdc.dto.ModelDTO; -import com.elink.esua.epdc.service.ActModelService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import org.activiti.engine.repository.Model; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; - -import javax.servlet.http.HttpServletResponse; -import java.util.Map; - -/** - * 模型管理 - * - * @author Mark sunlightcs@gmail.com - */ -@RestController -@RequestMapping("model") -@Api(tags="模型管理") -public class ActModelController { - @Autowired - private ActModelService actModelService; - - @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") , - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") , - @ApiImplicitParam(name = "key", value = "key", paramType = "query", dataType="String"), - @ApiImplicitParam(name = "name", value = "name", paramType = "query", dataType="String") - }) - public Result> page(@ApiIgnore @RequestParam Map params){ - PageData page = actModelService.page(params); - - return new Result>().ok(page); - } - - @PostMapping - @ApiOperation("新增模型") - @LogOperation("新增模型") - public Result save(@RequestBody ModelDTO dto) throws Exception{ - //效验数据 - ValidatorUtils.validateEntity(dto); - - actModelService.save(dto.getName(), dto.getKey(), dto.getDescription()); - - return new Result(); - } - - @PostMapping("deploy/{id}") - @ApiOperation("部署") - @LogOperation("部署") - public Result deploy(@PathVariable("id") String id) { - actModelService.deploy(id); - return new Result(); - } - - @GetMapping("export/{id}") - @ApiOperation("导出") - @LogOperation("导出") - public void export(@PathVariable("id") String id, @ApiIgnore HttpServletResponse response) { - actModelService.export(id, response); - } - - @DeleteMapping - @ApiOperation("删除") - @LogOperation("删除") - public Result delete(@RequestBody String[] ids) { - for(String id : ids) { - actModelService.delete(id); - } - return new Result(); - } -} diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/controller/ActProcessController.java b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/controller/ActProcessController.java index d336e4456..03028bc13 100644 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/controller/ActProcessController.java +++ b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/controller/ActProcessController.java @@ -88,15 +88,15 @@ public class ActProcessController { return new Result(); } - @PostMapping("convertToModel/{id}") - @ApiOperation("将部署的流程转换为模型") - @LogOperation("将部署的流程转换为模型") - @ApiImplicitParam(name = "id", value = "流程ID", paramType = "query", dataType="String") - public Result convertToModel(@PathVariable("id") String id) throws Exception { - actProcessService.convertToModel(id); - - return new Result(); - } +// @PostMapping("convertToModel/{id}") +// @ApiOperation("将部署的流程转换为模型") +// @LogOperation("将部署的流程转换为模型") +// @ApiImplicitParam(name = "id", value = "流程ID", paramType = "query", dataType="String") +// public Result convertToModel(@PathVariable("id") String id) throws Exception { +// actProcessService.convertToModel(id); +// +// return new Result(); +// } @DeleteMapping @ApiOperation("删除流程") diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/main/StencilsetRestResource.java b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/main/StencilsetRestResource.java deleted file mode 100644 index 191edb780..000000000 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/main/StencilsetRestResource.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Copyright (c) 2018 人人开源 All rights reserved. - * - * https://www.renren.io - * - * 版权所有,侵权必究! - */ - -package com.elink.esua.epdc.editor.main; - -import org.activiti.engine.ActivitiException; -import org.apache.commons.io.IOUtils; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; - -import java.io.InputStream; - -/** - * Stencilset - * - * @author Mark sunlightcs@gmail.com - */ -@RestController -@RequestMapping("service") -public class StencilsetRestResource { - - @RequestMapping(value="/editor/stencilset", method = RequestMethod.GET, produces = "application/json;charset=utf-8") - public @ResponseBody String getStencilset() { - InputStream stencilsetStream = this.getClass().getClassLoader().getResourceAsStream("stencilset.json"); - try { - return IOUtils.toString(stencilsetStream, "utf-8"); - } catch (Exception e) { - throw new ActivitiException("Error while loading stencil set", e); - } - } -} diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/model/ModelEditorJsonRestResource.java b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/model/ModelEditorJsonRestResource.java deleted file mode 100644 index db89cefb9..000000000 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/model/ModelEditorJsonRestResource.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Copyright (c) 2018 人人开源 All rights reserved. - * - * https://www.renren.io - * - * 版权所有,侵权必究! - */ - -package com.elink.esua.epdc.editor.model; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; -import org.activiti.editor.constants.ModelDataJsonConstants; -import org.activiti.engine.ActivitiException; -import org.activiti.engine.RepositoryService; -import org.activiti.engine.repository.Model; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -/** - * Model Editor - * - * @author Mark sunlightcs@gmail.com - */ -@RestController -@RequestMapping("service") -public class ModelEditorJsonRestResource implements ModelDataJsonConstants { - - protected static final Logger LOGGER = LoggerFactory.getLogger(ModelEditorJsonRestResource.class); - - @Autowired - private RepositoryService repositoryService; - - @Autowired - private ObjectMapper objectMapper; - - @RequestMapping(value="/model/{modelId}/json", method = RequestMethod.GET, produces = "application/json") - public ObjectNode getEditorJson(@PathVariable 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.set("model", editorJsonNode); - - } catch (Exception e) { - LOGGER.error("Error creating model JSON", e); - throw new ActivitiException("Error creating model JSON", e); - } - } - return modelNode; - } -} diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/model/ModelSaveRestResource.java b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/model/ModelSaveRestResource.java deleted file mode 100644 index 72ab9a0ef..000000000 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/editor/model/ModelSaveRestResource.java +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Copyright (c) 2018 人人开源 All rights reserved. - * - * https://www.renren.io - * - * 版权所有,侵权必究! - */ - -package com.elink.esua.epdc.editor.model; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.elink.esua.epdc.commons.tools.xss.XssHttpServletRequestWrapper; -import org.activiti.editor.constants.ModelDataJsonConstants; -import org.activiti.engine.ActivitiException; -import org.activiti.engine.RepositoryService; -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.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletRequest; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; - -/** - * Model Rest - * - * @author Mark sunlightcs@gmail.com - */ -@RestController -@RequestMapping("service") -public class ModelSaveRestResource implements ModelDataJsonConstants { - protected static final Logger LOGGER = LoggerFactory.getLogger(ModelSaveRestResource.class); - - @Autowired - private RepositoryService repositoryService; - @Autowired - private ObjectMapper objectMapper; - - @RequestMapping(value="/model/{modelId}/save", method = RequestMethod.PUT) - @ResponseStatus(value = HttpStatus.OK) - public void saveModel(@PathVariable String modelId, HttpServletRequest request) { - try { - HttpServletRequest orgRequest = XssHttpServletRequestWrapper.getOrgRequest(request); - String name = orgRequest.getParameter("name"); - String description = orgRequest.getParameter("description"); - String jsonXml = orgRequest.getParameter("json_xml"); - String svgXml = orgRequest.getParameter("svg_xml"); - - Model model = repositoryService.getModel(modelId); - - ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo()); - - modelJson.put(MODEL_NAME, name); - modelJson.put(MODEL_DESCRIPTION, description); - model.setMetaInfo(modelJson.toString()); - model.setName(name); - - repositoryService.saveModel(model); - - repositoryService.addModelEditorSource(model.getId(), jsonXml.getBytes("utf-8")); - - InputStream svgStream = new ByteArrayInputStream(svgXml.getBytes("utf-8")); - TranscoderInput input = new TranscoderInput(svgStream); - - PNGTranscoder transcoder = new PNGTranscoder(); - // Setup output - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - TranscoderOutput output = new TranscoderOutput(outStream); - - // Do the transformation - transcoder.transcode(input, output); - final byte[] result = outStream.toByteArray(); - repositoryService.addModelEditorSourceExtra(model.getId(), result); - outStream.close(); - - } catch (Exception e) { - LOGGER.error("Error saving model", e); - throw new ActivitiException("Error saving model", e); - } - } - -} diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/service/ActModelService.java b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/service/ActModelService.java index c3833f018..580774e44 100644 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/service/ActModelService.java +++ b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/service/ActModelService.java @@ -8,31 +8,16 @@ package com.elink.esua.epdc.service; -import com.elink.esua.epdc.exception.ModuleErrorCode; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; import com.elink.esua.epdc.commons.tools.constant.Constant; -import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.exception.ModuleErrorCode; -import org.activiti.bpmn.converter.BpmnXMLConverter; -import org.activiti.bpmn.model.BpmnModel; -import org.activiti.editor.constants.ModelDataJsonConstants; -import org.activiti.editor.language.json.converter.BpmnJsonConverter; +import com.fasterxml.jackson.databind.ObjectMapper; import org.activiti.engine.RepositoryService; -import org.activiti.engine.repository.Deployment; import org.activiti.engine.repository.Model; import org.activiti.engine.repository.ModelQuery; -import org.activiti.engine.repository.ProcessDefinition; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.servlet.http.HttpServletResponse; -import java.io.ByteArrayInputStream; -import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; @@ -75,78 +60,78 @@ public class ActModelService { return new PageData<>(list, (int)modelQuery.count()); } - public void save(String name, String key, String description) throws UnsupportedEncodingException { - //新建一个空模型 - Model model = repositoryService.newModel(); - - //metaInfo信息 - ObjectNode metaInfo = objectMapper.createObjectNode(); - metaInfo.put(ModelDataJsonConstants.MODEL_NAME, name); - metaInfo.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description); - metaInfo.put(ModelDataJsonConstants.MODEL_REVISION, model.getVersion()); - - model.setKey(key); - model.setName(name); - model.setMetaInfo(metaInfo.toString()); - - repositoryService.saveModel(model); - - ObjectNode editorNode = objectMapper.createObjectNode(); - editorNode.put("id", "canvas"); - editorNode.put("resourceId", "canvas"); - ObjectNode stencilset = objectMapper.createObjectNode(); - stencilset.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#"); - editorNode.set("stencilset", stencilset); - repositoryService.addModelEditorSource(model.getId(), editorNode.toString().getBytes("utf-8")); - } - - public void deploy(String id) { - try { - Model model = repositoryService.getModel(id); - BpmnJsonConverter jsonConverter = new BpmnJsonConverter(); - JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(model.getId())); - BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode); - BpmnXMLConverter xmlConverter = new BpmnXMLConverter(); - byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel); - - String processName = model.getName(); - if (!StringUtils.endsWith(processName, ".bpmn20.xml")){ - processName += ".bpmn20.xml"; - } - - ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes); - Deployment deployment = repositoryService.createDeployment().name(model.getName()).addInputStream(processName, in).deploy(); - - List list = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).list(); - if (list.size() == 0){ - throw new RenException(ModuleErrorCode.ACT_DEPLOY_ERROR); - } - } catch (Exception e) { - throw new RenException(ModuleErrorCode.ACT_MODEL_IMG_ERROR, e); - } - } - - /** - * 导出模型 - */ - public void export(String id, HttpServletResponse response) { - try { - Model model = repositoryService.getModel(id); - BpmnJsonConverter jsonConverter = new BpmnJsonConverter(); - JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(model.getId())); - BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode); - BpmnXMLConverter xmlConverter = new BpmnXMLConverter(); - byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel); - - ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes); - IOUtils.copy(in, response.getOutputStream()); - String filename = bpmnModel.getMainProcess().getId() + ".bpmn20.xml"; - response.setHeader("Content-Disposition", "attachment; filename=" + filename); - response.flushBuffer(); - } catch (Exception e) { - throw new RenException(ModuleErrorCode.ACT_MODEL_EXPORT_ERROR, id); - } - } +// public void save(String name, String key, String description) throws UnsupportedEncodingException { +// //新建一个空模型 +// Model model = repositoryService.newModel(); +// +// //metaInfo信息 +// ObjectNode metaInfo = objectMapper.createObjectNode(); +// metaInfo.put(ModelDataJsonConstants.MODEL_NAME, name); +// metaInfo.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description); +// metaInfo.put(ModelDataJsonConstants.MODEL_REVISION, model.getVersion()); +// +// model.setKey(key); +// model.setName(name); +// model.setMetaInfo(metaInfo.toString()); +// +// repositoryService.saveModel(model); +// +// ObjectNode editorNode = objectMapper.createObjectNode(); +// editorNode.put("id", "canvas"); +// editorNode.put("resourceId", "canvas"); +// ObjectNode stencilset = objectMapper.createObjectNode(); +// stencilset.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#"); +// editorNode.set("stencilset", stencilset); +// repositoryService.addModelEditorSource(model.getId(), editorNode.toString().getBytes("utf-8")); +// } +// +// public void deploy(String id) { +// try { +// Model model = repositoryService.getModel(id); +// BpmnJsonConverter jsonConverter = new BpmnJsonConverter(); +// JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(model.getId())); +// BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode); +// BpmnXMLConverter xmlConverter = new BpmnXMLConverter(); +// byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel); +// +// String processName = model.getName(); +// if (!StringUtils.endsWith(processName, ".bpmn20.xml")){ +// processName += ".bpmn20.xml"; +// } +// +// ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes); +// Deployment deployment = repositoryService.createDeployment().name(model.getName()).addInputStream(processName, in).deploy(); +// +// List list = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).list(); +// if (list.size() == 0){ +// throw new RenException(ModuleErrorCode.ACT_DEPLOY_ERROR); +// } +// } catch (Exception e) { +// throw new RenException(ModuleErrorCode.ACT_MODEL_IMG_ERROR, e); +// } +// } +// +// /** +// * 导出模型 +// */ +// public void export(String id, HttpServletResponse response) { +// try { +// Model model = repositoryService.getModel(id); +// BpmnJsonConverter jsonConverter = new BpmnJsonConverter(); +// JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(model.getId())); +// BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode); +// BpmnXMLConverter xmlConverter = new BpmnXMLConverter(); +// byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel); +// +// ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes); +// IOUtils.copy(in, response.getOutputStream()); +// String filename = bpmnModel.getMainProcess().getId() + ".bpmn20.xml"; +// response.setHeader("Content-Disposition", "attachment; filename=" + filename); +// response.flushBuffer(); +// } catch (Exception e) { +// throw new RenException(ModuleErrorCode.ACT_MODEL_EXPORT_ERROR, id); +// } +// } /** * 删除模型 diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/service/ActProcessService.java b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/service/ActProcessService.java index 5b9891d2f..a349878cb 100644 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/service/ActProcessService.java +++ b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/java/com/elink/esua/epdc/service/ActProcessService.java @@ -8,20 +8,12 @@ package com.elink.esua.epdc.service; -import com.elink.esua.epdc.exception.ModuleErrorCode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; - import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; -import org.activiti.bpmn.converter.BpmnXMLConverter; -import org.activiti.bpmn.model.BpmnModel; -import org.activiti.editor.constants.ModelDataJsonConstants; -import org.activiti.editor.language.json.converter.BpmnJsonConverter; +import com.elink.esua.epdc.exception.ModuleErrorCode; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.Deployment; -import org.activiti.engine.repository.Model; import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.repository.ProcessDefinitionQuery; import org.apache.commons.io.FilenameUtils; @@ -30,13 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -147,40 +134,40 @@ public class ActProcessService { repositoryService.suspendProcessDefinitionById(id, true, null); } - /** - * 将部署的流程转换为模型 - * @param id 流程ID - */ - public Model convertToModel(String id) throws UnsupportedEncodingException, XMLStreamException { - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(id).singleResult(); - InputStream bpmnStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), - processDefinition.getResourceName()); - XMLInputFactory xif = XMLInputFactory.newInstance(); - InputStreamReader in = new InputStreamReader(bpmnStream, "UTF-8"); - XMLStreamReader xtr = xif.createXMLStreamReader(in); - BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr); - - BpmnJsonConverter converter = new BpmnJsonConverter(); - ObjectNode modelNode = converter.convertToJson(bpmnModel); - Model modelData = repositoryService.newModel(); - modelData.setKey(processDefinition.getKey()); - modelData.setName(processDefinition.getResourceName()); - modelData.setCategory(processDefinition.getCategory()); - modelData.setDeploymentId(processDefinition.getDeploymentId()); - modelData.setVersion(Integer.parseInt(String.valueOf(repositoryService.createModelQuery().modelKey(modelData.getKey()).count()+1))); - - ObjectNode modelObjectNode = new ObjectMapper().createObjectNode(); - modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, processDefinition.getName()); - modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, modelData.getVersion()); - modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, processDefinition.getDescription()); - modelData.setMetaInfo(modelObjectNode.toString()); - - repositoryService.saveModel(modelData); - - repositoryService.addModelEditorSource(modelData.getId(), modelNode.toString().getBytes("utf-8")); - - return modelData; - } +// /** +// * 将部署的流程转换为模型 +// * @param id 流程ID +// */ +// public Model convertToModel(String id) throws UnsupportedEncodingException, XMLStreamException { +// ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(id).singleResult(); +// InputStream bpmnStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), +// processDefinition.getResourceName()); +// XMLInputFactory xif = XMLInputFactory.newInstance(); +// InputStreamReader in = new InputStreamReader(bpmnStream, "UTF-8"); +// XMLStreamReader xtr = xif.createXMLStreamReader(in); +// BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr); +// +// BpmnJsonConverter converter = new BpmnJsonConverter(); +// ObjectNode modelNode = converter.convertToJson(bpmnModel); +// Model modelData = repositoryService.newModel(); +// modelData.setKey(processDefinition.getKey()); +// modelData.setName(processDefinition.getResourceName()); +// modelData.setCategory(processDefinition.getCategory()); +// modelData.setDeploymentId(processDefinition.getDeploymentId()); +// modelData.setVersion(Integer.parseInt(String.valueOf(repositoryService.createModelQuery().modelKey(modelData.getKey()).count()+1))); +// +// ObjectNode modelObjectNode = new ObjectMapper().createObjectNode(); +// modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, processDefinition.getName()); +// modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, modelData.getVersion()); +// modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, processDefinition.getDescription()); +// modelData.setMetaInfo(modelObjectNode.toString()); +// +// repositoryService.saveModel(modelData); +// +// repositoryService.addModelEditorSource(modelData.getId(), modelNode.toString().getBytes("utf-8")); +// +// return modelData; +// } /** * 删除部署 diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/application.yml index 688922823..b6455847e 100644 --- a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/application.yml @@ -16,17 +16,19 @@ spring: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss activiti: - check-process-definitions: false + check-process-definitions: true + database-schema-update: true + process-definition-location-prefix: classpath:/processes/ redis: - database: 6 + database: 2 host: 47.104.224.45 timeout: 30s port: 6379 password: elink@888 datasource: druid: - driver-class-name: com.mysql.jdbc.Driver - url: jdbc:mysql://47.104.224.45:3308/epdc_activiti?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://47.104.224.45:3308/epdc_activiti?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: shibei@888 cloud: @@ -38,15 +40,15 @@ spring: seata: tx-service-group: epdc-activiti-server-fescar-service-group #Oracle -# driver-class-name: oracle.jdbc.OracleDriver -# url: jdbc:oracle:thin:@localhost:1521:xe -# username: renren_cloud -# password: 123456 + # driver-class-name: oracle.jdbc.OracleDriver + # url: jdbc:oracle:thin:@localhost:1521:xe + # username: renren_cloud + # password: 123456 #SQLServer -# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver -# url: jdbc:sqlserver://localhost:1433;DatabaseName=renren_cloud -# username: sa -# password: 123456 + # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + # url: jdbc:sqlserver://localhost:1433;DatabaseName=renren_cloud + # username: sa + # password: 123456 #postgresql # driver-class-name: org.postgresql.Driver # url: jdbc:postgresql://localhost:5432/renren_cloud @@ -65,7 +67,7 @@ management: mybatis-plus: mapper-locations: classpath:/mapper/**/*.xml #实体扫描,多个package用逗号或者分号分隔 - typeAliasesPackage: io.renren.entity + typeAliasesPackage: com.elink.esua.epdc.entity global-config: #数据库相关配置 db-config: diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/processes/favicon.ico b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/processes/favicon.ico new file mode 100644 index 000000000..2bd581cea Binary files /dev/null and b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/processes/favicon.ico differ diff --git a/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/registry.conf b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/registry.conf new file mode 100644 index 000000000..9cfedf9cc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-activiti/epdc-activiti-server/src/main/resources/registry.conf @@ -0,0 +1,21 @@ +registry { + # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa + type = "nacos" + + nacos { + serverAddr = "47.104.224.45" + namespace = "public" + cluster = "default" + } +} + +config { + # file、nacos 、apollo、zk、consul、etcd3 + type = "nacos" + + nacos { + serverAddr = "47.104.224.45" + namespace = "public" + cluster = "default" + } +}