修改页面分页情况

This commit is contained in:
2026-06-15 17:50:47 +08:00
parent 3aa6c7cf2f
commit d71b50c200
12 changed files with 187 additions and 64 deletions
+11 -2
View File
@@ -290,20 +290,29 @@ async def alipay_callback(request: Request, db: AsyncSession = Depends(get_db)):
@router.get("/orders", response_model=list[PaymentOrderOut])
async def list_orders(
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
current_user: User = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
# Auto-expire stale pending orders before returning
from app.services.payment import _check_and_expire_order
count_query = select(func.count(PaymentOrder.id)).where(PaymentOrder.user_id == current_user.id)
total = (await db.execute(count_query)).scalar() or 0
result = await db.execute(
select(PaymentOrder)
.where(PaymentOrder.user_id == current_user.id)
.order_by(PaymentOrder.created_at.desc())
.offset((page - 1) * page_size)
.limit(page_size)
)
orders = result.scalars().all()
for o in orders:
await _check_and_expire_order(db, o)
return orders
from fastapi.responses import JSONResponse
return JSONResponse(content={"items": orders, "total": total})
@router.get("/orders/{order_no}", response_model=PaymentOrderOut)