Class AdServiceImpl

java.lang.Object
ru.skypro.homework.service.impl.AdServiceImpl
All Implemented Interfaces:
AdService

@Service public class AdServiceImpl extends Object implements AdService
Реализация сервиса для работы с объявлениями.
Этот класс реализует интерфейс AdService
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    addAd(String jsonString, org.springframework.web.multipart.MultipartFile image)
    Добавление объявления.
    getAdById(int pk)
    Получение информации об объявлении.
    getAdEntity(int pk)
    Получение информации об объявлении.
    Получение объявлений авторизованного пользователя.
    Получение всех объявлений.
    boolean
    isAdAuthor(int pk, String currentUsername)
    Проверка текущего пользователя на авторство объявления.
    void
    removeAdById(int pk)
    Удаление объявления.
    updateAdById(int pk, CreateOrUpdateAd createOrUpdateAd)
    Обновление информации об объявлении.
    byte[]
    updateImage(int pk, org.springframework.web.multipart.MultipartFile image)
    Обновление картинки объявления.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AdServiceImpl

      public AdServiceImpl()
  • Method Details

    • getAllAds

      public Ads getAllAds()
      Получение всех объявлений.
      Specified by:
      getAllAds in interface AdService
      Returns:
      Ads объект содержащий информацию об общем количестве объявлений и список всех объявлений
    • addAd

      @Transactional public Ad addAd(String jsonString, org.springframework.web.multipart.MultipartFile image) throws IOException
      Добавление объявления.
      Specified by:
      addAd in interface AdService
      Parameters:
      jsonString - строка с информацией объявления
      image - файл с изображением объявления
      Returns:
      объект Ad созданное объявление
      Throws:
      IOException - Если произошла ошибка при обработке изображения
    • getAdById

      public ExtendedAd getAdById(int pk)
      Получение информации об объявлении.
      Specified by:
      getAdById in interface AdService
      Parameters:
      pk - идентификатор объявления
      Returns:
      объект ExtendedAd полная информация об объявлении
    • removeAdById

      @Transactional public void removeAdById(int pk)
      Удаление объявления.
      Specified by:
      removeAdById in interface AdService
      Parameters:
      pk - идентификатор объявления
    • updateAdById

      public Ad updateAdById(int pk, CreateOrUpdateAd createOrUpdateAd)
      Обновление информации об объявлении.
      Specified by:
      updateAdById in interface AdService
      Parameters:
      pk - идентификатор объявления
      createOrUpdateAd - информация для обновления объявления
      Returns:
      объект Ad обновленное объявление
    • updateImage

      @Transactional public byte[] updateImage(int pk, org.springframework.web.multipart.MultipartFile image) throws IOException
      Обновление картинки объявления.
      Specified by:
      updateImage in interface AdService
      Parameters:
      pk - идентификатор объявления
      image - файл с новой картинкой объявления
      Returns:
      объект
      invalid reference
      byte[]
      массив байтов, содержащий данные обновлённого изображения.
      Throws:
      IOException - Если произошла ошибка при обработке изображения
    • getAds

      public Ads getAds()
      Получение объявлений авторизованного пользователя.
      Specified by:
      getAds in interface AdService
      Returns:
      объект Ads с информацией о количестве объявлений и их списком
    • getAdEntity

      public AdEntity getAdEntity(int pk)
      Получение информации об объявлении.
      Specified by:
      getAdEntity in interface AdService
      Returns:
      объект AdEntity с информацией об объявлении
      Throws:
      AdNotFoundException - Если объявление не найдено
    • isAdAuthor

      public boolean isAdAuthor(int pk, String currentUsername)
      Проверка текущего пользователя на авторство объявления.
      Specified by:
      isAdAuthor in interface AdService
      Returns:
      true, если текущий пользователь является автором объявления, иначе false