| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- from fastapi import APIRouter, Request
- from core.constant import PermissionName
- from core.decorators import OperationLog
- from core.decorators.auth_decorators import Authorize
- from core.enums import BusinessTypeEnum
- from domain.dtos import SysUserCreateDto, SysUserUpdateDto, PageDto
- from domain.services import SysUserService, get_user_service
- user_router = APIRouter(prefix="/user", tags=["系统用户管理"])
- @user_router.post("/page", summary="查询用户")
- @Authorize(PermissionName.SYS_USER_QUERY)
- async def get_users_page(
- request: Request,
- user_service: SysUserService = get_user_service(),
- ):
- page_dict = await request.json()
- page_dto = PageDto(**page_dict)
- users = await user_service.get_page_list(page_dto)
- return users
- @user_router.post("/create", summary="创建用户")
- @Authorize(PermissionName.SYS_USER_CREATE)
- @OperationLog(title="创建用户", business_type=BusinessTypeEnum.INSERT)
- async def create_user(
- request: Request,
- user_service: SysUserService = get_user_service(),
- ):
- user_data = await request.json()
- dto = SysUserCreateDto(**user_data)
- new_user = await user_service.create_user(dto)
- return new_user
- @user_router.post("/update", summary="更新用户")
- @Authorize(PermissionName.SYS_USER_UPDATE)
- @OperationLog(title="更新用户", business_type=BusinessTypeEnum.UPDATE)
- async def update_user(
- request: Request,
- user_service: SysUserService = get_user_service(),
- ):
- user_data = await request.json()
- dto = SysUserUpdateDto(**user_data)
- updated_user = await user_service.update_user(dto)
- return updated_user
- @user_router.post("/delete/{id:int}", summary="删除用户")
- @Authorize(PermissionName.SYS_USER_DELETE)
- @OperationLog(title="删除用户", business_type=BusinessTypeEnum.DELETE)
- async def delete_user(
- request: Request,
- user_service: SysUserService = get_user_service(),
- ):
- id = int(request.path_params.get("id"))
- await user_service.delete(id)
- @user_router.post("/reset-password", summary="重置用户密码")
- @Authorize(PermissionName.SYS_USER_RESET_PASSWORD)
- @OperationLog(title="重置用户密码", business_type=BusinessTypeEnum.UPDATE)
- async def reset_user_password(
- request: Request,
- user_service: SysUserService = get_user_service(),
- ):
- data = await request.json()
- user_id = data.get("user_id", 0)
- new_password = data.get("new_password", "")
- await user_service.reset_password(user_id, new_password)
- @user_router.post("/unlock/{id:int}", summary="解锁用户")
- @Authorize(PermissionName.SYS_USER_UNLOCK)
- async def unlock_user(
- id: int,
- user_service: SysUserService = get_user_service(),
- ):
- await user_service.unlock_user(id)
|