工作流 Flowable 发起流程 相关实现
parent
c761f5258a
commit
073d860a78
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<artifactId>yudao-framework</artifactId>
|
||||||
|
<groupId>cn.iocoder.boot</groupId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>yudao-spring-boot-starter-flowable</artifactId>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.iocoder.boot</groupId>
|
||||||
|
<artifactId>yudao-common</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!-- Web 相关 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.iocoder.boot</groupId>
|
||||||
|
<artifactId>yudao-spring-boot-starter-security</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!-- flowable 工作流相关 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.flowable</groupId>
|
||||||
|
<artifactId>flowable-spring-boot-starter-basic</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
package cn.iocoder.yudao.framework.flowable.config;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum;
|
||||||
|
import cn.iocoder.yudao.framework.flowable.core.web.FlowableWebFilter;
|
||||||
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class YudaoFlowableConfiguration {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置 flowable Web 过滤器
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
public FilterRegistrationBean<FlowableWebFilter> flowableWebFilter() {
|
||||||
|
FilterRegistrationBean<FlowableWebFilter> registrationBean = new FilterRegistrationBean<>();
|
||||||
|
registrationBean.setFilter(new FlowableWebFilter());
|
||||||
|
registrationBean.setOrder(WebFilterOrderEnum.FLOWABLE_FILTER);
|
||||||
|
return registrationBean;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1 @@
|
|||||||
|
package cn.iocoder.yudao.framework.flowable.core;
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package cn.iocoder.yudao.framework.flowable.core.util;
|
||||||
|
|
||||||
|
import org.flowable.common.engine.impl.identity.Authentication;
|
||||||
|
|
||||||
|
public class FlowableUtils {
|
||||||
|
|
||||||
|
public static void setAuthenticatedUserId(Long userId) {
|
||||||
|
Authentication.setAuthenticatedUserId(String.valueOf(userId));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void clearAuthenticatedUserId() {
|
||||||
|
Authentication.setAuthenticatedUserId(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1 @@
|
|||||||
|
package cn.iocoder.yudao.framework.flowable;
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||||
|
cn.iocoder.yudao.framework.flowable.config.YudaoFlowableConfiguration
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
package cn.iocoder.yudao.module.bpm.framework.flowable.config;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.listener.BpmProcessInstanceEventListener;
|
||||||
|
import org.flowable.common.engine.api.delegate.event.FlowableEventListener;
|
||||||
|
import org.flowable.engine.runtime.ProcessInstance;
|
||||||
|
import org.flowable.spring.SpringProcessEngineConfiguration;
|
||||||
|
import org.flowable.spring.boot.EngineConfigurationConfigurer;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
/**
|
||||||
|
* BPM 模块的 Flowable 配置类
|
||||||
|
*
|
||||||
|
* @author jason
|
||||||
|
*/
|
||||||
|
@Configuration
|
||||||
|
public class BpmFlowableConfiguration {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*将自定义 listener 加入全局listener
|
||||||
|
* @param processInstanceListener 自定义监听 {@link ProcessInstance}
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
public EngineConfigurationConfigurer<SpringProcessEngineConfiguration> addCustomerListenerConfigurer (BpmProcessInstanceEventListener processInstanceListener) {
|
||||||
|
return engineConfiguration -> {
|
||||||
|
List<FlowableEventListener> eventListeners = new ArrayList<>();
|
||||||
|
eventListeners.add(processInstanceListener);
|
||||||
|
engineConfiguration.setEventListeners(eventListeners);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue