refactor(klp-flowable):移除下一个处理人选择功能- 删除了 NextUserSelector 类- 移除了 UserTaskListener 中关于下一个处理人的逻辑
- 删除了 WfTaskServiceImpl 中保存下一个处理人到流程变量的代码这个改动移除了用户自定义选择下一个处理人的功能,简化了系统架构。
This commit is contained in:
@@ -1,68 +0,0 @@
|
||||
package com.klp.flowable.utils;
|
||||
|
||||
import org.flowable.engine.RuntimeService;
|
||||
import org.flowable.engine.TaskService;
|
||||
import org.flowable.task.api.Task;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 下一个处理人选择器
|
||||
* 用于处理用户自定义选择下一个处理人的逻辑
|
||||
*
|
||||
* @author CodeBuddy
|
||||
* @since 2025/8/22
|
||||
*/
|
||||
@Component
|
||||
public class NextUserSelector {
|
||||
|
||||
private final TaskService taskService;
|
||||
private final RuntimeService runtimeService;
|
||||
|
||||
public NextUserSelector(TaskService taskService, RuntimeService runtimeService) {
|
||||
this.taskService = taskService;
|
||||
this.runtimeService = runtimeService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置下一个任务的处理人
|
||||
*
|
||||
* @param taskId 当前任务ID
|
||||
* @param nextUserIds 下一个处理人ID,多个用逗号分隔
|
||||
*/
|
||||
public void setNextTaskUsers(String taskId, String nextUserIds) {
|
||||
if (nextUserIds == null || nextUserIds.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
if (task == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 设置流程变量,在任务完成后传递给下一个任务
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("nextUserIds", nextUserIds);
|
||||
|
||||
// 更新流程实例变量
|
||||
runtimeService.setVariables(task.getExecutionId(), variables);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前任务的指定处理人
|
||||
*
|
||||
* @param taskId 任务ID
|
||||
* @return 指定的处理人ID,多个用逗号分隔
|
||||
*/
|
||||
public String getNextTaskUsers(String taskId) {
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
if (task == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Object nextUserIds = runtimeService.getVariable(task.getExecutionId(), "nextUserIds");
|
||||
return nextUserIds != null ? nextUserIds.toString() : null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user