diff --git a/build.gradle b/build.gradle index 38db876..afba00a 100644 --- a/build.gradle +++ b/build.gradle @@ -20,8 +20,8 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'com.aiprose:jpa-common-utils:2.3.4' - implementation 'org.activiti:activiti-spring-boot-starter:7.1.0.M4' - implementation 'org.activiti:activiti-image-generator:7.1.0.M4' + implementation 'org.activiti:activiti-spring-boot-starter:7.1.0.M3.1' + implementation 'org.activiti:activiti-image-generator:7.1.0.M3.1' runtimeOnly 'mysql:mysql-connector-java' diff --git a/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java index d1f5369..fff109c 100644 --- a/src/main/java/com/example/demo/DemoApplication.java +++ b/src/main/java/com/example/demo/DemoApplication.java @@ -1,10 +1,6 @@ package com.example.demo; import lombok.extern.slf4j.Slf4j; -import org.activiti.api.runtime.shared.query.Page; -import org.activiti.api.runtime.shared.query.Pageable; -import org.activiti.api.task.model.Task; -import org.activiti.api.task.model.builders.TaskPayloadBuilder; import org.activiti.api.task.runtime.TaskRuntime; import org.activiti.api.task.runtime.events.TaskAssignedEvent; import org.activiti.api.task.runtime.events.TaskCompletedEvent; diff --git a/src/main/java/com/example/demo/controller/AdminController.java b/src/main/java/com/example/demo/controller/AdminController.java index df96cc3..93efb61 100644 --- a/src/main/java/com/example/demo/controller/AdminController.java +++ b/src/main/java/com/example/demo/controller/AdminController.java @@ -2,9 +2,6 @@ package com.example.demo.controller; import com.example.demo.entity.Admin; import com.example.demo.service.AdminService; -import org.activiti.engine.HistoryService; -import org.activiti.engine.ProcessEngine; -import org.activiti.engine.ProcessEngineConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -29,13 +26,9 @@ public class AdminController { @Autowired private AdminService adminService; - @Autowired - private ProcessEngine processEngine; - @GetMapping("list") public Flux> list(){ List list = adminService.findList(null); - HistoryService historyService = processEngine.getHistoryService(); return Flux.just(list); } diff --git a/src/main/java/com/example/demo/controller/WorkFlowController.java b/src/main/java/com/example/demo/controller/WorkFlowController.java new file mode 100644 index 0000000..2551f53 --- /dev/null +++ b/src/main/java/com/example/demo/controller/WorkFlowController.java @@ -0,0 +1,76 @@ +package com.example.demo.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.activiti.engine.ProcessEngine; +import org.activiti.engine.RepositoryService; +import org.activiti.engine.RuntimeService; +import org.activiti.engine.TaskService; +import org.activiti.engine.repository.Deployment; +import org.activiti.engine.runtime.ProcessInstance; +import org.activiti.engine.task.Task; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author yanpeng + * @version 1.0 + * @desc TODO + * @company 北京中经网软件有限公司 + * @date 2020/10/27 14:34 + */ +@RestController +@RequestMapping("workflow") +@Api(tags = "工作流接口") +public class WorkFlowController { + + @Autowired + private ProcessEngine processEngine; + + @ApiOperation(value = "发布工作流") + @GetMapping("deploy") + public void deploy() { + RepositoryService repositoryService = processEngine.getRepositoryService(); + Deployment deploy = repositoryService.createDeployment().addClasspathResource("bpmn/testbpmn.bpmn").addClasspathResource("bpmn/testbpmn.png").name("请假申请流程").key("testbpmn").deploy(); + System.out.println(deploy.getId()); + System.out.println(deploy.getName()); + System.out.println(deploy.getKey()); + } + + @ApiOperation(value = "启动工作流") + @GetMapping("start") + public void start() { + RuntimeService runtimeService = processEngine.getRuntimeService(); + ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testbpmn"); + System.out.println(processInstance.getProcessDefinitionId()); + System.out.println(processInstance.getId()); + } + + + @ApiOperation(value = "查询任务") + @GetMapping("query") + public Boolean query() { + TaskService taskService = processEngine.getTaskService(); + List testbpmn = taskService.createTaskQuery().processDefinitionKey("testbpmn").list(); + testbpmn.stream().forEach(x->{ + System.out.println(x.getProcessDefinitionId()); + System.out.println(x.getId()); + System.out.println(x.getName()); + System.out.println(x.getAssignee()); + }); + return true; + } + + + @ApiOperation(value = "完成任务") + @GetMapping("ok") + public Boolean ok(String taskid) { + TaskService taskService = processEngine.getTaskService(); + taskService.complete(taskid); + return true; + } +} diff --git a/src/main/java/com/example/demo/entity/Admin.java b/src/main/java/com/example/demo/entity/Admin.java index 1d9a621..14efe6d 100644 --- a/src/main/java/com/example/demo/entity/Admin.java +++ b/src/main/java/com/example/demo/entity/Admin.java @@ -13,6 +13,7 @@ import javax.persistence.Table; * @company 北京中经网软件有限公司 * @date 2020/10/27 13:54 */ + @Data @Entity @Table(name="t_admin") diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c6fd6ff..7f877c4 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -16,4 +16,9 @@ spring: username: root password: trgis driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://47.98.109.5:3309/actibpmn?characterEncoding=utf8&useSSL=false + url: jdbc:mysql://47.98.109.5:3309/actibpmn?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai + hikari: + minimum-idle: 3 + maximum-pool-size: 10 + max-lifetime: 1800000 + connection-test-query: SELECT 1 diff --git a/src/main/resources/bpmn/testbpmn.bpmn b/src/main/resources/bpmn/testbpmn.bpmn new file mode 100644 index 0000000..3835328 --- /dev/null +++ b/src/main/resources/bpmn/testbpmn.bpmn @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/bpmn/testbpmn.png b/src/main/resources/bpmn/testbpmn.png new file mode 100644 index 0000000..437ec2d Binary files /dev/null and b/src/main/resources/bpmn/testbpmn.png differ diff --git a/src/main/resources/bpmn/test.bpmn b/src/main/resources/bpmn/testbpmn.xml similarity index 56% rename from src/main/resources/bpmn/test.bpmn rename to src/main/resources/bpmn/testbpmn.xml index f2f4e23..8220832 100644 --- a/src/main/resources/bpmn/test.bpmn +++ b/src/main/resources/bpmn/testbpmn.xml @@ -1,8 +1,8 @@ - + - + @@ -12,48 +12,48 @@ - + - + - + - + - + - + - + - + - - + + - + - - + + - + - - + + - +