fix: use correct token fields (input_tokens + output_tokens)
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
111
2026-01-23 16:14:55 +08:00
parent b018844078
commit 2a9f62bef8

View File

@@ -68,7 +68,7 @@ async def get_stats_summary(
# 今日调用次数和 token 消耗 # 今日调用次数和 token 消耗
today_stats = db.query( today_stats = db.query(
func.count(AICallEvent.id).label('calls'), func.count(AICallEvent.id).label('calls'),
func.coalesce(func.sum(AICallEvent.total_tokens), 0).label('tokens') func.coalesce(func.sum(AICallEvent.input_tokens + AICallEvent.output_tokens), 0).label('tokens')
).filter( ).filter(
func.date(AICallEvent.created_at) == today func.date(AICallEvent.created_at) == today
).first() ).first()
@@ -77,7 +77,7 @@ async def get_stats_summary(
week_start = today - timedelta(days=today.weekday()) week_start = today - timedelta(days=today.weekday())
week_stats = db.query( week_stats = db.query(
func.count(AICallEvent.id).label('calls'), func.count(AICallEvent.id).label('calls'),
func.coalesce(func.sum(AICallEvent.total_tokens), 0).label('tokens') func.coalesce(func.sum(AICallEvent.input_tokens + AICallEvent.output_tokens), 0).label('tokens')
).filter( ).filter(
func.date(AICallEvent.created_at) >= week_start func.date(AICallEvent.created_at) >= week_start
).first() ).first()
@@ -104,7 +104,7 @@ async def get_stats_trend(
query = db.query( query = db.query(
func.date(AICallEvent.created_at).label('date'), func.date(AICallEvent.created_at).label('date'),
func.count(AICallEvent.id).label('calls'), func.count(AICallEvent.id).label('calls'),
func.coalesce(func.sum(AICallEvent.total_tokens), 0).label('tokens') func.coalesce(func.sum(AICallEvent.input_tokens + AICallEvent.output_tokens), 0).label('tokens')
).filter( ).filter(
func.date(AICallEvent.created_at) >= start_date, func.date(AICallEvent.created_at) >= start_date,
func.date(AICallEvent.created_at) <= end_date func.date(AICallEvent.created_at) <= end_date