feat:增加分页功能
This commit is contained in:
@@ -22,7 +22,7 @@ async def ledger(
|
||||
start: datetime | None = Query(None),
|
||||
end: datetime | None = Query(None),
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(20, ge=1, le=100),
|
||||
page_size: int = Query(10, ge=1, le=100),
|
||||
user: SysUser = Depends(require_advisor),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
|
||||
@@ -17,7 +17,7 @@ async def list_customers(
|
||||
status: str | None = Query(None, max_length=16),
|
||||
keyword: str | None = Query(None, max_length=64),
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(20, ge=1, le=100),
|
||||
page_size: int = Query(10, ge=1, le=100),
|
||||
user: SysUser = Depends(require_advisor),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
@@ -51,7 +51,7 @@ async def get_holdings(
|
||||
async def get_reports(
|
||||
customer_id: int,
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(20, ge=1, le=100),
|
||||
page_size: int = Query(10, ge=1, le=100),
|
||||
user: SysUser = Depends(require_advisor),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
|
||||
@@ -19,7 +19,7 @@ async def list_drafts(
|
||||
customer_id: int | None = Query(None),
|
||||
status: str | None = Query(None, max_length=16),
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(20, ge=1, le=100),
|
||||
page_size: int = Query(10, ge=1, le=100),
|
||||
user: SysUser = Depends(require_advisor),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
|
||||
@@ -17,7 +17,7 @@ async def list_todos(
|
||||
status: str | None = Query(None, max_length=16),
|
||||
todo_type: str | None = Query(None, max_length=32),
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(20, ge=1, le=100),
|
||||
page_size: int = Query(10, ge=1, le=100),
|
||||
user: SysUser = Depends(require_advisor),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
|
||||
@@ -16,7 +16,7 @@ router = APIRouter()
|
||||
async def list_visits(
|
||||
customer_id: int | None = Query(None),
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(20, ge=1, le=100),
|
||||
page_size: int = Query(10, ge=1, le=100),
|
||||
user: SysUser = Depends(require_advisor),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
@@ -64,7 +64,7 @@ async def talk_templates(user: SysUser = Depends(require_advisor)):
|
||||
async def touch_logs(
|
||||
customer_id: int = Query(...),
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(20, ge=1, le=100),
|
||||
page_size: int = Query(10, ge=1, le=100),
|
||||
user: SysUser = Depends(require_advisor),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
|
||||
@@ -322,7 +322,7 @@ async def list_drafts(
|
||||
customer_id: int | None = Query(default=None),
|
||||
status: Literal[DRAFT_STATUS_DRAFT, DRAFT_STATUS_DISCARDED] | None = Query(default=None),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100),
|
||||
page_size: int = Query(default=10, ge=1, le=100),
|
||||
user: SysUser = Depends(audited_advisor),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
|
||||
@@ -57,6 +57,7 @@ from tool.llm import llm
|
||||
from utils.exceptions import ForbiddenError, NotFoundError, ParamError
|
||||
from utils.request_id import get_request_id, new_request_id
|
||||
from utils.response import success
|
||||
from utils.pagination import normalize_pagination
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
@@ -474,10 +475,11 @@ async def list_query_history(
|
||||
):
|
||||
"""分页读取当前员工自己的查询历史。"""
|
||||
ensure_query_employee(user)
|
||||
page, page_size, offset = normalize_pagination(page, page_size)
|
||||
rows = await Nl2SqlPermissionRepo(db).list_query_history(
|
||||
user.id,
|
||||
limit=page_size,
|
||||
offset=(page - 1) * page_size,
|
||||
offset=offset,
|
||||
status=status,
|
||||
start_time=start_time,
|
||||
end_time=end_time,
|
||||
|
||||
@@ -5,7 +5,7 @@ import json
|
||||
import time
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from fastapi.responses import PlainTextResponse
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
@@ -275,7 +275,7 @@ async def run_admin_job(
|
||||
@router.get("/nl2sql/admin/jobs/history")
|
||||
async def admin_job_history(
|
||||
page: int = 1,
|
||||
page_size: int = 20,
|
||||
page_size: int = Query(10, ge=1, le=10),
|
||||
status: str | None = None,
|
||||
user: SysUser = Depends(get_current_user),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
|
||||
+4
-3
@@ -1,5 +1,5 @@
|
||||
"""风控处置路由:预警列表 + 放行/拦截/冻结(仅风控专员)。"""
|
||||
from fastapi import APIRouter, Depends
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from api.deps import require_risk_officer
|
||||
@@ -14,11 +14,12 @@ router = APIRouter(prefix="/risk", tags=["风控"])
|
||||
@router.get("/alert/list", summary="预警列表")
|
||||
async def list_alerts(
|
||||
status: str | None = None,
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(10, ge=1, le=10),
|
||||
user: SysUser = Depends(require_risk_officer),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
alerts = await risk_handle.list_alerts(db, status)
|
||||
return success([a.model_dump(mode="json") for a in alerts])
|
||||
return success(await risk_handle.list_alerts(db, status, page=page, page_size=page_size))
|
||||
|
||||
|
||||
@router.post("/alert/{alert_id}/release", summary="放行")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""业务工单路由:列表 / 详情 / 认领 / 提交审核 / 复核(仅风控专员)。"""
|
||||
from fastapi import APIRouter, Depends
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from api.deps import require_risk_officer
|
||||
@@ -15,11 +15,16 @@ router = APIRouter(prefix="/work-order", tags=["工单"])
|
||||
@router.get("/list", summary="工单列表")
|
||||
async def list_work_orders(
|
||||
status: str | None = None,
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(10, ge=1, le=10),
|
||||
user: SysUser = Depends(require_risk_officer),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
orders = await work_order_service.list_work_orders(db, status)
|
||||
return success([o.model_dump(mode="json") for o in orders])
|
||||
return success(
|
||||
await work_order_service.list_work_orders(
|
||||
db, status, page=page, page_size=page_size
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@router.get("/{work_order_id}", summary="工单详情")
|
||||
|
||||
Reference in New Issue
Block a user