fix: add cost nil guard to Anthropic/Antigravity RecordUsage paths

- Apply same nil-pointer protection as OpenAI path
- Remove unused accessToken/proxyURL params from checkAccountCredits
This commit is contained in:
erio
2026-04-01 17:13:31 +08:00
parent c9145ad4d8
commit 35a9290528
3 changed files with 21 additions and 17 deletions

View File

@@ -7842,13 +7842,6 @@ func (s *GatewayService) RecordUsage(ctx context.Context, input *RecordUsageInpu
CacheCreation5mTokens: result.Usage.CacheCreation5mTokens,
CacheCreation1hTokens: result.Usage.CacheCreation1hTokens,
ImageOutputTokens: result.Usage.ImageOutputTokens,
InputCost: cost.InputCost,
OutputCost: cost.OutputCost,
ImageOutputCost: cost.ImageOutputCost,
CacheCreationCost: cost.CacheCreationCost,
CacheReadCost: cost.CacheReadCost,
TotalCost: cost.TotalCost,
ActualCost: cost.ActualCost,
RateMultiplier: multiplier,
AccountRateMultiplier: &accountRateMultiplier,
BillingType: billingType,
@@ -7863,6 +7856,15 @@ func (s *GatewayService) RecordUsage(ctx context.Context, input *RecordUsageInpu
ModelMappingChain: optionalTrimmedStringPtr(input.ModelMappingChain),
CreatedAt: time.Now(),
}
if cost != nil {
usageLog.InputCost = cost.InputCost
usageLog.OutputCost = cost.OutputCost
usageLog.ImageOutputCost = cost.ImageOutputCost
usageLog.CacheCreationCost = cost.CacheCreationCost
usageLog.CacheReadCost = cost.CacheReadCost
usageLog.TotalCost = cost.TotalCost
usageLog.ActualCost = cost.ActualCost
}
// 设置计费模式
if result.MediaType != "image" && result.MediaType != "video" && result.MediaType != "prompt" {
@@ -8085,13 +8087,6 @@ func (s *GatewayService) RecordUsageWithLongContext(ctx context.Context, input *
CacheCreation5mTokens: result.Usage.CacheCreation5mTokens,
CacheCreation1hTokens: result.Usage.CacheCreation1hTokens,
ImageOutputTokens: result.Usage.ImageOutputTokens,
InputCost: cost.InputCost,
OutputCost: cost.OutputCost,
ImageOutputCost: cost.ImageOutputCost,
CacheCreationCost: cost.CacheCreationCost,
CacheReadCost: cost.CacheReadCost,
TotalCost: cost.TotalCost,
ActualCost: cost.ActualCost,
RateMultiplier: multiplier,
AccountRateMultiplier: &accountRateMultiplier,
BillingType: billingType,
@@ -8105,6 +8100,15 @@ func (s *GatewayService) RecordUsageWithLongContext(ctx context.Context, input *
ModelMappingChain: optionalTrimmedStringPtr(input.ModelMappingChain),
CreatedAt: time.Now(),
}
if cost != nil {
usageLog.InputCost = cost.InputCost
usageLog.OutputCost = cost.OutputCost
usageLog.ImageOutputCost = cost.ImageOutputCost
usageLog.CacheCreationCost = cost.CacheCreationCost
usageLog.CacheReadCost = cost.CacheReadCost
usageLog.TotalCost = cost.TotalCost
usageLog.ActualCost = cost.ActualCost
}
// 设置计费模式
if result.ImageCount > 0 {