fix: user stats again again again

This commit is contained in:
Feng Yue
2025-08-13 23:23:05 +08:00
parent 983cc520ae
commit 1ba55401f9
2 changed files with 22 additions and 6 deletions

View File

@@ -498,6 +498,17 @@ class ApiKeyService {
for (const key of userKeys) {
const usage = await redis.getUsageStats(key.id)
const dailyCost = (await redis.getDailyCost(key.id)) || 0
const costStats = await redis.getCostStats(key.id)
logger.debug(`🔍 getUserApiKeys: Key ${key.id} (${key.name}) usage:`, {
keyId: key.id,
keyName: key.name,
userId: key.userId,
rawUsage: usage,
dailyCost,
costStats,
lastUsedAt: key.lastUsedAt
})
userKeysWithUsage.push({
id: key.id,
@@ -509,8 +520,9 @@ class ApiKeyService {
createdAt: key.createdAt,
lastUsedAt: key.lastUsedAt,
expiresAt: key.expiresAt,
usage: usage || { requests: 0, inputTokens: 0, outputTokens: 0, totalCost: 0 },
usage: usage,
dailyCost,
totalCost: costStats.total,
dailyCostLimit: parseFloat(key.dailyCostLimit || 0),
userId: key.userId,
userUsername: key.userUsername,

View File

@@ -150,11 +150,15 @@ class UserService {
}
for (const apiKey of userApiKeys) {
if (apiKey.usage) {
totalUsage.requests += apiKey.usage.requests || 0
totalUsage.inputTokens += apiKey.usage.inputTokens || 0
totalUsage.outputTokens += apiKey.usage.outputTokens || 0
totalUsage.totalCost += apiKey.usage.totalCost || 0
logger.debug(`🔍 Processing API key ${apiKey.id} (${apiKey.name}) for user ${userId}:`, {
hasUsage: !!apiKey.usage,
usage: apiKey.usage
})
if (apiKey.usage && apiKey.usage.total) {
totalUsage.requests += apiKey.usage.total.requests || 0
totalUsage.inputTokens += apiKey.usage.total.inputTokens || 0
totalUsage.outputTokens += apiKey.usage.total.outputTokens || 0
totalUsage.totalCost += apiKey.totalCost || 0
}
}