Browse Source

升级 flowlong 0.0.4

hubin 1 year ago
parent
commit
0a305b5237

+ 1 - 1
build.gradle

@@ -99,7 +99,7 @@ dependencies {
     implementation("com.aizuda:aizuda-monitor")
 
     // 工作流引擎
-    implementation("com.aizuda:flowlong-spring-boot-starter:0.0.3")
+    implementation("com.aizuda:flowlong-spring-boot-starter:0.0.4")
 
     // SpringBootAdmin 监控管理客户端,未使用可以删除
     // implementation("de.codecentric:spring-boot-admin-starter-client:3.0.2")

+ 1 - 1
pom.xml

@@ -98,7 +98,7 @@
 		<dependency>
 			<groupId>com.aizuda</groupId>
 			<artifactId>flowlong-spring-boot-starter</artifactId>
-			<version>0.0.3</version>
+			<version>0.0.4</version>
 		</dependency>
 
 		<!-- 服务监听 -->

+ 26 - 0
src/main/java/com/aizuda/boot/config/BpmConfiguration.java

@@ -0,0 +1,26 @@
+package com.aizuda.boot.config;
+
+import com.aizuda.bpm.engine.FlowLongEngine;
+import com.aizuda.bpm.engine.FlowLongScheduler;
+import com.aizuda.bpm.engine.scheduling.JobLock;
+import com.aizuda.bpm.spring.autoconfigure.FlowLongProperties;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@EnableScheduling
+@Configuration
+public class BpmConfiguration {
+
+    @Bean
+    @ConditionalOnMissingBean
+    public FlowLongScheduler springBootScheduler(FlowLongEngine flowLongEngine, FlowLongProperties properties, JobLock jobLock) {
+        FlowLongScheduler scheduler = new BpmScheduler();
+        scheduler.setFlowLongEngine(flowLongEngine);
+        scheduler.setRemindParam(properties.getRemind());
+        scheduler.setTaskReminder((context, instanceId, currentTaskId) -> System.out.println("测试提醒:" + instanceId));
+        scheduler.setJobLock(jobLock);
+        return scheduler;
+    }
+}

+ 15 - 0
src/main/java/com/aizuda/boot/config/BpmScheduler.java

@@ -0,0 +1,15 @@
+package com.aizuda.boot.config;
+
+import com.aizuda.bpm.engine.FlowLongScheduler;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+import org.springframework.scheduling.support.CronTrigger;
+
+public class BpmScheduler extends FlowLongScheduler implements SchedulingConfigurer {
+
+    @Override
+    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
+        taskRegistrar.addTriggerTask(this::remind, triggerContext ->
+                new CronTrigger(getRemindParam().getCron()).nextExecution(triggerContext));
+    }
+}

+ 6 - 0
src/main/java/com/aizuda/boot/modules/flw/flow/FlowTaskListener.java

@@ -82,6 +82,12 @@ public class FlowTaskListener implements TaskListener {
             }
             fpa.setContent(content);
         }
+
+        if (EventType.autoComplete.equals(eventType) || EventType.autoReject.equals(eventType)) {
+            // 自动审批情况,设置默认处理人信息
+            fpa.setCreateId(0L);
+            fpa.setCreateBy("admin");
+        }
         return flwProcessApprovalService.save(fpa);
     }