增加角色的筛选。

This commit is contained in:
aaron 2025-01-16 15:42:31 +08:00
parent c1d02e3cf2
commit 56e19aef6f

View File

@ -17,6 +17,7 @@ from pydantic import BaseModel, Field
from typing import List from typing import List
from typing import Optional from typing import Optional
from datetime import datetime from datetime import datetime
from sqlalchemy import text
router = APIRouter() router = APIRouter()
@ -331,16 +332,20 @@ def issue_register_coupons(db: Session, user_id: int):
async def get_user_list( async def get_user_list(
skip: int = 0, skip: int = 0,
limit: int = 10, limit: int = 10,
role: Optional[str] = None,
db: Session = Depends(get_db), db: Session = Depends(get_db),
admin: UserDB = Depends(get_admin_user) # 仅管理员可访问 admin: UserDB = Depends(get_admin_user)
): ):
"""获取用户列表(管理员) """获取用户列表(管理员)"""
Args: query = db.query(UserDB)
skip: 跳过记录数
limit: 返回记录数 # 如果指定了角色,添加角色筛选条件
""" if role:
total = db.query(UserDB).count() # 修复 JSON_CONTAINS 语法
users = db.query(UserDB).order_by( query = query.filter(text(f"JSON_CONTAINS(roles, '\"{role}\"')"))
total = query.count()
users = query.order_by(
UserDB.create_time.desc() UserDB.create_time.desc()
).offset(skip).limit(limit).all() ).offset(skip).limit(limit).all()