Merge branch 'main' of gitee.com:wg123/video-gen into main

This commit is contained in:
18610128193
2026-06-16 10:39:25 +08:00
11 changed files with 163 additions and 78 deletions
+13 -8
View File
@@ -80,7 +80,7 @@ router = APIRouter(prefix="/admin", tags=["admin"])
@router.get("/users")
async def list_users(
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
page_size: int = Query(20, ge=1, le=1000),
search: str = Query(""),
admin: User = Depends(get_admin_user),
db: AsyncSession = Depends(get_db),
@@ -248,7 +248,7 @@ async def admin_change_password(
@router.get("/credit-records")
async def list_credit_records(
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
page_size: int = Query(20, ge=1, le=500),
user_id: str | None = Query(None),
user_name: str | None = Query(None),
type: str | None = Query(None),
@@ -315,18 +315,23 @@ async def list_credit_records(
@router.get("/notifications")
async def list_admin_notifications(
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
page_size: int = Query(20, ge=1, le=500),
user_id: str | None = Query(None),
is_read: bool = Query(None),
admin: User = Depends(get_admin_user),
db: AsyncSession = Depends(get_db),
):
"""List all notifications (including broadcasts) with optional user_id filter."""
"""List all notifications with optional filters."""
query = select(Notification).order_by(Notification.created_at.desc())
count_query = select(func.count(Notification.id))
if user_id:
query = query.where(Notification.user_id == user_id)
count_query = count_query.where(Notification.user_id == user_id)
if is_read is not None:
query = query.where(Notification.is_read == is_read)
count_query = count_query.where(Notification.is_read == is_read)
total = (await db.execute(count_query)).scalar() or 0
result = await db.execute(query.offset((page - 1) * page_size).limit(page_size))
@@ -573,7 +578,7 @@ async def get_payment_stats(
@router.get("/payment-orders")
async def list_payment_orders(
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
page_size: int = Query(20, ge=1, le=500),
payment_method: str | None = Query(None),
status: str | None = Query(None),
start_date: str | None = Query(None),
@@ -1086,7 +1091,7 @@ async def update_system_config(
@router.get("/operation-logs")
async def list_operation_logs(
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
page_size: int = Query(20, ge=1, le=500),
admin: User = Depends(get_admin_user),
db: AsyncSession = Depends(get_db),
):
@@ -1279,7 +1284,7 @@ async def get_stats(
@router.get("/token-usage")
async def list_token_usage(
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
page_size: int = Query(20, ge=1, le=500),
user_id: str | None = Query(None),
admin: User = Depends(get_admin_user),
db: AsyncSession = Depends(get_db),
@@ -1321,7 +1326,7 @@ async def admin_list_generation_records(
user_id: str | None = Query(None),
status: str | None = Query(None),
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
page_size: int = Query(20, ge=1, le=500),
admin: User = Depends(get_admin_user),
db: AsyncSession = Depends(get_db),
):