Merge branch 'refactor/backend-architecture' into development
This commit is contained in:
22
api/app/features/payment/repo.py
Normal file
22
api/app/features/payment/repo.py
Normal file
@@ -0,0 +1,22 @@
|
||||
"""Payment repository — Order data access."""
|
||||
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.features.payment.models import Order
|
||||
|
||||
|
||||
async def get_order_by_id(order_id: str, db: AsyncSession) -> Order | None:
|
||||
return await db.get(Order, order_id)
|
||||
|
||||
|
||||
async def get_orders_by_user(user_id: str, db: AsyncSession) -> list[Order]:
|
||||
stmt = select(Order).where(Order.user_id == user_id).order_by(Order.created_at.desc())
|
||||
result = await db.execute(stmt)
|
||||
return list(result.scalars().all())
|
||||
|
||||
|
||||
async def get_order_by_trade_no(out_trade_no: str, db: AsyncSession) -> Order | None:
|
||||
stmt = select(Order).where(Order.id == out_trade_no)
|
||||
result = await db.execute(stmt)
|
||||
return result.scalar_one_or_none()
|
||||
Reference in New Issue
Block a user