fix(ai): AI 配额摘要端点 500 错误修复
get_usage_summary 中 get_tenant_config 和 get_monthly_token_usage 的 数据库错误直接传播为 AppError::Internal (500),当 ai_tenant_configs 表 为空或查询异常时导致整个端点不可用。 改为 unwrap_or 降级处理:config 缺失时使用默认配额,token 查询失败时归零, 确保端点始终返回有效数据而非 500。
This commit is contained in:
@@ -116,13 +116,13 @@ impl QuotaService {
|
||||
}
|
||||
|
||||
pub async fn get_usage_summary(&self, tenant_id: Uuid) -> AiResult<QuotaSummary> {
|
||||
let config = self.get_tenant_config(tenant_id).await?;
|
||||
let config = self.get_tenant_config(tenant_id).await.unwrap_or(None);
|
||||
let budget = config
|
||||
.as_ref()
|
||||
.map(|c| c.monthly_token_budget)
|
||||
.unwrap_or(1_000_000);
|
||||
|
||||
let used = self.get_monthly_token_usage(tenant_id).await?;
|
||||
let used = self.get_monthly_token_usage(tenant_id).await.unwrap_or(0);
|
||||
|
||||
Ok(QuotaSummary {
|
||||
tenant_id,
|
||||
|
||||
Reference in New Issue
Block a user