API统计页面

This commit is contained in:
BBIT-Kai
2026-07-27 10:16:24 +08:00
parent 89f6944e65
commit 38efd8ef1a
21 changed files with 3554 additions and 123 deletions
+7
View File
@@ -25,6 +25,7 @@ from db.postgres.cube_report import (
)
from models.BaseResponse import BaseResponse
from models.CubeReportRequest import (
ExportCubeReportRequest,
RenameCubeReportConversationRequest,
SendCubeReportMessageRequest,
)
@@ -352,11 +353,13 @@ async def _export_cube_result(
tenant_id: str,
limit_source: str,
title: str,
column_keys: list[str] | None = None,
) -> BaseResponse:
export_data = await query_cube_export(
base_load=query,
tenant_id=tenant_id,
limit_source=limit_source,
column_keys=column_keys,
)
filename = sanitize_filename(title or "Cube查询结果")
contents, sheet_count = await asyncio.to_thread(
@@ -378,6 +381,7 @@ async def _export_cube_result(
@cubeReportRouter.post("/reports/{report_id}/export")
async def export_report_data(
report_id: str,
request: ExportCubeReportRequest | None = None,
user_id: UUID = Depends(get_user_id_from_token),
):
report, tenant_id = await _resolve_saved_report(report_id, user_id)
@@ -386,6 +390,7 @@ async def export_report_data(
tenant_id=tenant_id,
limit_source=report["limitSource"],
title=report["title"],
column_keys=request.columnKeys if request else None,
)
@@ -440,6 +445,7 @@ async def delete_report(
@cubeReportRouter.post("/sessions/{conversation_id}/export")
async def export_session_data(
conversation_id: str,
request: ExportCubeReportRequest | None = None,
user_id: UUID = Depends(get_user_id_from_token),
):
session = await get_dify_conversation(conversation_id, str(user_id))
@@ -453,6 +459,7 @@ async def export_session_data(
tenant_id=tenant_id,
limit_source=state["limitSource"],
title=str(session.get("title") or state.get("title") or "Cube查询结果"),
column_keys=request.columnKeys if request else None,
)