{"type":"assistant","message":{"role":"assistant","content":[{"type":"text","text":"我会快速查看当前 git diff 的文件清单和统计,确认这次提交的主线,避免只根据截断 diff 猜测。"}]}}{"type":"assistant","message":{"role":"assistant","content":[{"type":"tool_use","id":"item_1","name":"bash","input":{"command":"\"C:\\\\Users\\\\admin\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\\\\pwsh.exe\" -Command 'git diff --stat'","description":"Run \"C:\\\\Users\\\\admin\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\\\\pwsh.exe\""}}]}}
This commit is contained in:
@@ -263,9 +263,11 @@ public class WorkflowGlobalListener implements GlobalListener {
|
||||
if (flwTaskService.isTaskEnd(instanceId)) {
|
||||
String status = BusinessStatusEnum.FINISH.getStatus();
|
||||
// 更新流程状态为已完成
|
||||
flwInstanceService.updateStatus(instanceId, status);
|
||||
log.info("流程已结束,状态更新为: {}", status);
|
||||
return status;
|
||||
if (flwInstanceService.updateStatusIfNotFinal(instanceId, status)) {
|
||||
log.info("流程已结束,状态更新为: {}", status);
|
||||
return status;
|
||||
}
|
||||
log.debug("流程实例已被其他处理更新为最终状态,跳过重复完成事件,实例ID: {}", instanceId);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -126,6 +126,15 @@ public interface IFlwInstanceService {
|
||||
*/
|
||||
void updateStatus(Long instanceId, String status);
|
||||
|
||||
/**
|
||||
* 流程未处于最终状态时更新状态
|
||||
*
|
||||
* @param instanceId 实例id
|
||||
* @param status 状态
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
boolean updateStatusIfNotFinal(Long instanceId, String status);
|
||||
|
||||
/**
|
||||
* 获取流程变量
|
||||
*
|
||||
|
||||
@@ -388,6 +388,15 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
flowInstanceMapper.update(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateStatusIfNotFinal(Long instanceId, String status) {
|
||||
LambdaUpdateWrapper<FlowInstance> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.set(FlowInstance::getFlowStatus, status);
|
||||
wrapper.eq(FlowInstance::getId, instanceId);
|
||||
wrapper.notIn(FlowInstance::getFlowStatus, BusinessStatusEnum.finishStatus());
|
||||
return flowInstanceMapper.update(wrapper) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程变量
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user