feat(workflow): 工作流提供方 - 集成 RunningHub 与 ComfyUI Bridge
This commit is contained in:
@@ -73,6 +73,22 @@ func (s *Service) requestProviderCancellation(ctx context.Context, task *model.T
|
||||
if err != nil {
|
||||
return s.markProviderCancellationUncertain(task, "读取上游取消配置失败,费用待核对:"+err.Error())
|
||||
}
|
||||
if isComfyBridgeInterface(input.Config.InterfaceType) {
|
||||
// 尚未领取的请求可以确定取消并退款;已经在本机执行的工作流只能丢弃迟到结果并转人工核对。
|
||||
request, requestErr := s.repo.ComfyBridgeRequest(task.ProviderRequestID)
|
||||
s.CancelComfyBridgeRequest(task.ProviderRequestID)
|
||||
if requestErr == nil && request.Status == "queued" {
|
||||
if err := s.taskBilling().RefundBilling(task.BillingOrderID, "本地 ComfyUI Bridge 请求在领取前取消"); err != nil {
|
||||
return s.markProviderCancellationUncertain(task, "Bridge 请求已取消,但积分退回失败:"+err.Error())
|
||||
}
|
||||
now := time.Now()
|
||||
if err := s.repo.UpdateTaskProviderCancellation(task.ID, model.ProviderCancelStatusRequested, model.ProviderCancelStatusConfirmed, "", nil, &now); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
return s.markProviderCancellationUncertain(task, "本地 ComfyUI Bridge 不支持取消已领取工作流,执行状态待核对")
|
||||
}
|
||||
if !supportsProviderCancellation(input.Config.InterfaceType) {
|
||||
return s.markProviderCancellationUncertain(task, "当前上游协议不支持取消,费用待核对")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user