Class UserServiceImpl

java.lang.Object
ru.averkiev.greenchat_user.services.impl.UserServiceImpl
All Implemented Interfaces:
UserService

@Service public class UserServiceImpl extends Object implements UserService
Класс реализует функционал взаимодействия User с базой данных.
  • Constructor Details

    • UserServiceImpl

      public UserServiceImpl()
  • Method Details

    • register

      public UserRegistrationDTO register(UserCreateDTO userCreateDTO) throws RegistrationException
      Регистрирует нового пользователя в системе.
      Specified by:
      register in interface UserService
      Parameters:
      userCreateDTO - DTO данные нового пользователя.
      Returns:
      зарегистрированный пользователь.
      Throws:
      RegistrationException - выбрасывает если регистрация пользователя не удалась по каким-либо причинам.
    • saveUser

      public User saveUser(User user)
      Создаёт нового пользователя в системе
      Specified by:
      saveUser in interface UserService
      Parameters:
      user - новый пользователь.
      Returns:
      созданный пользователь.
    • getUserById

      public Optional<User> getUserById(Long userId)
      Возвращает пользователя по его идентификатору.
      Specified by:
      getUserById in interface UserService
      Parameters:
      userId - идентификатор искомого пользователя.
      Returns:
      Optional, содержащий найденного пользователя, или пустой Optional, если пользователь не найден.
    • getUserByLogin

      public Optional<User> getUserByLogin(String login)
      Возвращает пользователя по его логину.
      Specified by:
      getUserByLogin in interface UserService
      Parameters:
      login - логин пользователя.
      Returns:
      Optional, содержащий найденного пользователя, или пустой Optional, если пользователь не найден.
    • updateUser

      public UserUpdateDTO updateUser(Long userId, UserUpdateDTO userUpdateDTO) throws UserNotFoundException
      Обновляет информацию о пользователе с указанным идентификатором.
      Specified by:
      updateUser in interface UserService
      Parameters:
      userId - идентификатор обновляемого пользователя.
      userUpdateDTO - объект, содержащий обновлённые данные пользователя.
      Returns:
      обновлённый объект пользователя.
      Throws:
      UserNotFoundException - выбрасывает если пользователь с указанным идентификатором не найден.
    • updateUserPassword

      public void updateUserPassword(Long userId, UserUpdatePasswordDTO userUpdatePasswordDTO) throws UserNotFoundException, PasswordsNotMatchException
      Обновляет пароль пользователя с указанным идентификатором.
      Specified by:
      updateUserPassword in interface UserService
      Parameters:
      userId - указанный идентификатор пользователя.
      userUpdatePasswordDTO - объект содержащий новый пароль.
      Throws:
      UserNotFoundException - выбрасывает если пользователь с указанным идентификатором не найден.
      PasswordsNotMatchException
    • deleteUser

      public void deleteUser(Long userId)
      Удаляет пользователя по его идентификатору.
      Specified by:
      deleteUser in interface UserService
      Parameters:
      userId - идентификатор удаляемого пользователя.
    • softDeleteUser

      public UserStatusDTO softDeleteUser(Long userId)
      Помечает пользователя удалённым, но не удаляет физически.
      Specified by:
      softDeleteUser in interface UserService
      Parameters:
      userId - идентификатор пользователя.
      Returns:
      DTO объект с информацией о статусе
    • getAllUsers

      public List<User> getAllUsers()
      Возвращает список всех пользователей.
      Specified by:
      getAllUsers in interface UserService
      Returns:
      список ролей.
    • getRolesByLogin

      public List<Role> getRolesByLogin(String login) throws UserNotFoundException
      Возвращает список всех ролей по имени пользователя.
      Specified by:
      getRolesByLogin in interface UserService
      Parameters:
      login - указанное имя пользователя.
      Returns:
      список пользователей
      Throws:
      RoleNotFoundException - - выбрасывается, если указанная роль не найдена.
      UserNotFoundException
    • getBlockingInitiatedByUser

      public List<Blocking> getBlockingInitiatedByUser(Long userId)
      Description copied from interface: UserService
      Возвращает список блокировок, инициированных указанным пользователем.
      Specified by:
      getBlockingInitiatedByUser in interface UserService
      Parameters:
      userId - идентификатор пользователя, инициирующего блокировки.
      Returns:
      список блокировок.
    • getBlockingReceivedByUser

      public List<Blocking> getBlockingReceivedByUser(Long userId)
      Description copied from interface: UserService
      Возвращает список блокировок, адресованных указанному пользователю.
      Specified by:
      getBlockingReceivedByUser in interface UserService
      Parameters:
      userId - идентификатор указанного пользователя.
      Returns:
      список блокировок.
    • existsUserById

      public boolean existsUserById(Long userId)
      Проверяет, существует ли пользователь с указанным идентификатором.
      Specified by:
      existsUserById in interface UserService
      Parameters:
      userId - идентификатор проверяемого пользователя.
      Returns:
      true, если пользователь существует, иначе false.
    • existsUserByLogin

      public boolean existsUserByLogin(String login)
      Проверяет, существует ли пользователь с указанным логином.
      Specified by:
      existsUserByLogin in interface UserService
      Parameters:
      login - логин проверяемого пользователя.
      Returns:
      true, если пользователь существует, иначе false.
    • existsUserByEmail

      public boolean existsUserByEmail(String email)
      Проверяет, существует ли пользователь с указанной электронной почтой.
      Specified by:
      existsUserByEmail in interface UserService
      Parameters:
      email - электронная почта проверяемого пользователя.
      Returns:
      true, если пользователь существует, иначе false.