1
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from fastapi import APIRouter, Body, Depends, HTTPException, Path, Query
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy import and_, select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.dependencies import get_current_user, get_db
|
||||
@@ -232,6 +232,21 @@ async def list_tasks(
|
||||
description="查询相关用户名的对应记录[管理后台]",
|
||||
examples=["demo"],
|
||||
),
|
||||
engine_id: str | None = Query(
|
||||
None,
|
||||
description="按引擎ID筛选[管理后台]",
|
||||
examples=["0019e1697667d0eff39"],
|
||||
),
|
||||
created_start: datetime | None = Query(
|
||||
None,
|
||||
description="创建时间起始(含),ISO 格式,例如 2026-07-03T00:00:00",
|
||||
examples=["2026-07-03T00:00:00"],
|
||||
),
|
||||
created_end: datetime | None = Query(
|
||||
None,
|
||||
description="创建时间截止(含),ISO 格式,例如 2026-07-03T23:59:59",
|
||||
examples=["2026-07-03T23:59:59"],
|
||||
),
|
||||
current_user: User = Depends(get_current_user),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
@@ -250,6 +265,9 @@ async def list_tasks(
|
||||
page,
|
||||
page_size,
|
||||
is_admin,
|
||||
engine_id=engine_id,
|
||||
created_start=created_start,
|
||||
created_end=created_end,
|
||||
)
|
||||
|
||||
# ====================== 在这里加排序(最新在前)======================
|
||||
|
||||
@@ -5,7 +5,7 @@ from datetime import datetime, timedelta, timezone, date
|
||||
from typing import Any
|
||||
|
||||
from fastapi import HTTPException
|
||||
from sqlalchemy import func, select
|
||||
from sqlalchemy import and_, func, select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.config import settings
|
||||
@@ -507,6 +507,9 @@ async def list_async_generation_tasks(
|
||||
page: int,
|
||||
page_size: int,
|
||||
is_admin: bool = False,
|
||||
engine_id: str | None = None,
|
||||
created_start: datetime | None = None,
|
||||
created_end: datetime | None = None,
|
||||
):
|
||||
if is_admin:
|
||||
query = (
|
||||
@@ -533,6 +536,18 @@ async def list_async_generation_tasks(
|
||||
if status:
|
||||
query = query.where(ChatGenerationTask.status == status)
|
||||
|
||||
if engine_id:
|
||||
query = query.where(ChatGenerationTask.engine_id == engine_id)
|
||||
|
||||
if created_start is not None or created_end is not None:
|
||||
range_filters = []
|
||||
if created_start is not None:
|
||||
range_filters.append(ChatGenerationTask.created_at >= created_start)
|
||||
if created_end is not None:
|
||||
range_filters.append(ChatGenerationTask.created_at <= created_end)
|
||||
if range_filters:
|
||||
query = query.where(and_(*range_filters))
|
||||
|
||||
count_query = select(func.count()).select_from(query.subquery())
|
||||
total = (await db.execute(count_query)).scalar_one()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user