110 lines
2.6 KiB
Python
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}
|
|
|