fix: 修复请求日志丢失、轮询日志显示和开关动画问题 (#450)
* fix(logs): 请求明细 - 隐藏轮询状态查询 * fix(ui): 开关滑块 - 恢复状态位移与过渡动画 * fix(protocol): 声明式任务 - 创建请求生成幂等 UUID * fix(logs): 请求日志 - 辅助状态更新失败时仍保留记录
This commit is contained in:
7 files changed
+116
-6
No files matched your search
@@ -4,6 +4,7 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
stdlog "log"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -652,7 +653,9 @@ func (s *Service) LogAPICall(log model.ApiCallLog) error {
|
||||
s.estimateCallCost(&log)
|
||||
if log.BillingOrderID != "" && log.ProviderRequestID != "" {
|
||||
if err := s.repo.UpdateBillingProviderRequestID(log.BillingOrderID, log.ProviderRequestID); err != nil {
|
||||
return err
|
||||
// 账单关联是请求日志的辅助状态,不能因为关联更新失败而丢失
|
||||
// 已经发生的上游调用记录。后续由任务/账单对账流程补偿关联。
|
||||
stdlog.Printf("provider billing request id update failed: billing_order_id=%s provider_request_id=%s error=%v", log.BillingOrderID, log.ProviderRequestID, err)
|
||||
}
|
||||
}
|
||||
if log.TaskID != "" {
|
||||
@@ -667,7 +670,9 @@ func (s *Service) LogAPICall(log model.ApiCallLog) error {
|
||||
nextPollAt = &next
|
||||
}
|
||||
if err := s.repo.UpdateTaskProviderState(log.TaskID, log.ProviderRequestID, stage, nextPollAt); err != nil {
|
||||
return err
|
||||
// 请求日志本身仍需保留;任务状态可由后续任务收尾或恢复流程
|
||||
// 重建,不能让一次状态写失败掩盖真实的上游调用。
|
||||
stdlog.Printf("provider task state update failed: task_id=%s provider_request_id=%s error=%v", log.TaskID, log.ProviderRequestID, err)
|
||||
}
|
||||
}
|
||||
if merged, err := s.mergeVideoAPICallLog(log); err != nil {
|
||||
|
||||
Reference in new issue
Block a user