feat(flow): 回调信封升级——事件携带操作人身份(operatorUserId/operatorName)
在飞工作合入:FlowEvent 增操作人字段(可空),引擎/推进监听/回调派发全程透传, 对齐 SDK FlowCallbackEvent 的 taskId/operator 字段(规范 §6.4)。
This commit is contained in:
@@ -33,10 +33,12 @@ public class FlowAdvanceService {
|
||||
* @param edgeName 多出口节点所选出口(办理事件携带);可空——兜底从该节点
|
||||
* 最近一条已同意任务的 edge_name 列重放(推进在 AFTER_COMMIT 新事务重查,
|
||||
* 事件传参只是快路径,落库的值才是权威)
|
||||
* @param operator 本节点办理人(TASK_HANDLED 事件 data 穿透;推进产生的
|
||||
* TASK_CREATED/COMPLETED 操作人信封字段来源),可空
|
||||
* @return 是否实际推进了
|
||||
*/
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||
public boolean tryAdvance(Long instanceId, String nodeId, String edgeName) {
|
||||
public boolean tryAdvance(Long instanceId, String nodeId, String edgeName, FlowOperator operator) {
|
||||
FlwInstance instance = instanceRepository.findById(instanceId).orElse(null);
|
||||
if (instance == null
|
||||
|| instance.getStatus() != FlwEnums.InstanceStatus.APPROVING.getCode()) {
|
||||
@@ -72,7 +74,7 @@ public class FlowAdvanceService {
|
||||
.map(FlwTask::getEdgeName)
|
||||
.orElse(null);
|
||||
}
|
||||
flowEngine.continueAdvance(instance, def, nodeId, chosen);
|
||||
flowEngine.continueAdvance(instance, def, nodeId, chosen, operator);
|
||||
instanceRepository.save(instance);
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user