用户注册初始化

This commit is contained in:
zhangtao
2024-12-11 23:42:08 +08:00
parent 75c043779a
commit 28557eaeca
3 changed files with 15 additions and 2 deletions
@@ -24,7 +24,7 @@ class CurrentUserUpdateSchema(BaseModel):
return mobile_validator(value) return mobile_validator(value)
class UserRegisterSchema(CurrentUserUpdateSchema): class UserRegisterSchema(BaseModel):
"""注册""" """注册"""
name: str = Field(default=None, max_length=15, description="名称") name: str = Field(default=None, max_length=15, description="名称")
mobile: Optional[str] = Field(default=None, description="手机号") mobile: Optional[str] = Field(default=None, description="手机号")
@@ -32,6 +32,11 @@ class UserRegisterSchema(CurrentUserUpdateSchema):
gender: Optional[int] = Field(default=1, description="性别") # 1:男 2:女 gender: Optional[int] = Field(default=1, description="性别") # 1:男 2:女
username: str = Field(default=None, max_length=15, description="用户名") username: str = Field(default=None, max_length=15, description="用户名")
password: str = Field(default=None, max_length=128, description="密码哈希值") password: str = Field(default=None, max_length=128, description="密码哈希值")
dept_id: Optional[int] = Field(default=1, description='部门ID')
role_ids: Optional[List[int]] = Field(default=[2], description='角色ID')
position_ids: Optional[List[int]] = Field(default=[1], description='岗位ID')
creator_id: Optional[int] = Field(default=1, description='创建人ID')
description: Optional[str] = Field(default=f'注册用户{username}', max_length=255, description="备注")
class UserForgetPasswordSchema(BaseModel): class UserForgetPasswordSchema(BaseModel):
@@ -149,7 +149,10 @@ class UserService:
raise CustomException(msg="用户不存在") raise CustomException(msg="用户不存在")
if user.is_superuser: if user.is_superuser:
raise CustomException(msg="超级管理员不能删除") raise CustomException(msg="超级管理员不能删除")
if user.available:
raise CustomException(msg="用户已启用,不能删除")
if auth.user.id == id:
raise CustomException(msg="不能删除当前登陆用户")
# 删除用户角色关联数据 # 删除用户角色关联数据
await UserCRUD(auth).set_user_roles(user_ids=[id], role_ids=[]) await UserCRUD(auth).set_user_roles(user_ids=[id], role_ids=[])
@@ -246,7 +249,12 @@ class UserService:
data.password = PwdUtil.set_password_hash(password=data.password) data.password = PwdUtil.set_password_hash(password=data.password)
dict_data = data.model_dump(exclude_unset=True) dict_data = data.model_dump(exclude_unset=True)
dict_data['creator_id'] = data.creator_id
dict_data['dept_id'] = data.dept_id
dict_data['description'] = data.description
result = await UserCRUD(auth).create(data=dict_data) result = await UserCRUD(auth).create(data=dict_data)
await UserCRUD(auth).set_user_roles(user_ids=[result.id], role_ids=data.role_ids)
await UserCRUD(auth).set_user_positions(user_ids=[result.id], position_ids=data.position_ids)
return UserOutSchema.model_validate(result).model_dump() return UserOutSchema.model_validate(result).model_dump()
@classmethod @classmethod
Binary file not shown.