diff --git a/backend/internal/pkg/antigravity/client.go b/backend/internal/pkg/antigravity/client.go index 9e65fd72..4f14b0e6 100644 --- a/backend/internal/pkg/antigravity/client.go +++ b/backend/internal/pkg/antigravity/client.go @@ -38,16 +38,25 @@ type LoadCodeAssistRequest struct { // TierInfo 账户类型信息 type TierInfo struct { - ID string `json:"id"` // standard-tier, free-tier, g1-pro-tier, g1-ultra-tier + ID string `json:"id"` // free-tier, g1-pro-tier, g1-ultra-tier Name string `json:"name"` // 显示名称 Description string `json:"description"` // 描述 } +// IneligibleTier 不符合条件的层级信息 +type IneligibleTier struct { + Tier *TierInfo `json:"tier,omitempty"` + // ReasonCode 不符合条件的原因代码,如 INELIGIBLE_ACCOUNT + ReasonCode string `json:"reasonCode,omitempty"` + ReasonMessage string `json:"reasonMessage,omitempty"` +} + // LoadCodeAssistResponse loadCodeAssist 响应 type LoadCodeAssistResponse struct { - CloudAICompanionProject string `json:"cloudaicompanionProject"` - CurrentTier *TierInfo `json:"currentTier,omitempty"` - PaidTier *TierInfo `json:"paidTier,omitempty"` + CloudAICompanionProject string `json:"cloudaicompanionProject"` + CurrentTier *TierInfo `json:"currentTier,omitempty"` + PaidTier *TierInfo `json:"paidTier,omitempty"` + IneligibleTiers []*IneligibleTier `json:"ineligibleTiers,omitempty"` } // GetTier 获取账户类型 diff --git a/backend/internal/service/antigravity_quota_refresher.go b/backend/internal/service/antigravity_quota_refresher.go index af98438c..bf3e9dde 100644 --- a/backend/internal/service/antigravity_quota_refresher.go +++ b/backend/internal/service/antigravity_quota_refresher.go @@ -187,6 +187,17 @@ func (r *AntigravityQuotaRefresher) updateAccountTier(account *Account, loadResp if tier != "" { account.Extra["tier"] = tier } + + // 保存不符合条件的原因(如 INELIGIBLE_ACCOUNT) + if len(loadResp.IneligibleTiers) > 0 && loadResp.IneligibleTiers[0] != nil { + ineligible := loadResp.IneligibleTiers[0] + if ineligible.ReasonCode != "" { + account.Extra["ineligible_reason_code"] = ineligible.ReasonCode + } + if ineligible.ReasonMessage != "" { + account.Extra["ineligible_reason_message"] = ineligible.ReasonMessage + } + } } // updateAccountQuota 更新账户的配额信息