diff --git a/backend/app/admin/service/user_service.py b/backend/app/admin/service/user_service.py index d6ecf486..cace308f 100644 --- a/backend/app/admin/service/user_service.py +++ b/backend/app/admin/service/user_service.py @@ -108,6 +108,8 @@ async def update(*, db: AsyncSession, pk: int, obj: UpdateUserParam) -> int: raise errors.NotFoundError(msg='用户不存在') if obj.username != user.username and await user_dao.get_by_username(db, obj.username): raise errors.ConflictError(msg='用户名已注册') + if obj.dept_id and obj.dept_id != user.dept_id and not await dept_dao.get(db, dept_id=obj.dept_id): + raise errors.NotFoundError(msg='部门不存在') for role_id in obj.roles: if not await role_dao.get(db, role_id): raise errors.NotFoundError(msg='角色不存在')