table_game/backend/app/routers/admin_user.py
2025-03-10 08:35:19 +08:00

110 lines
2.6 KiB
Python

from fastapi import APIRouter, HTTPException
from typing import List
from ..schemas.user_info import (
UserRangeQueryRequest,
UserInfo,
UserDeleteRequest,
UserUpdateRequest,
TotalNumberOfUsers,
UserQueryRequest,
UserPasswordUpdateRequest,
UserPointsUpdateRequest
)
from ..services.admin_user_service import (
query_user,
query_users_by_range,
delete_user_by_token,
update_user,
get_total_of_users,
update_user_password,
update_user_points
)
router = APIRouter()
@router.post("/users/query", response_model=List[UserInfo])
def query_users(request: UserRangeQueryRequest):
"""
管理员查询范围内的用户信息
"""
users = query_users_by_range(
token=request.token,
start=request.start,
end=request.end
)
return users
@router.post("/users/del")
def delete_user(request: UserDeleteRequest):
"""
管理员删除用户
"""
result = delete_user_by_token(token=request.token, uid=request.uid)
return result
@router.post("/users/update")
def update_user_route(request: UserUpdateRequest):
"""
管理员修改用户信息
"""
result = update_user(
token=request.token,
uid=request.uid,
username=request.username,
email=request.email,
phone_number=request.phone_number,
gender=request.gender,
user_type=request.user_type
)
return {"message": result}
@router.post("/users/sum")
def get_total_users(request: TotalNumberOfUsers):
"""
获取用户总数
"""
result = get_total_of_users(
token=request.token
)
return {"message": result}
@router.post("/users/search")
def query_user_api(request: UserQueryRequest):
"""
管理员通过 `phone_number` / `email` / `username` / `uid` 查询用户信息
"""
result = query_user(
token=request.token,
query_mode=request.query_mode,
query_value=request.query_value
)
return result
@router.post("/users/update_password")
def update_user_password_route(request: UserPasswordUpdateRequest):
"""
管理员修改用户密码
"""
result = update_user_password(
token=request.token,
uid=request.uid,
new_password=request.new_password
)
return {"message": result}
@router.post("/users/update_points")
def update_points_route(request: UserPointsUpdateRequest):
"""
管理员调整用户积分
"""
result = update_user_points(
token=request.token,
uid=request.uid,
points=request.points,
reason=request.reason
)
return {"message": result}