Package ru.bitel.bgbilling.modules.softline.common.service

# Interface SoftLineSubscriptionService

    public interface SoftLineSubscriptionService

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `activateSubscription​(SoftLineSubscription subscription)` | Запрос на активацию подписки для договора(новой или ранее приостановленной)
  `void` | `checkStatusSoftLine()` | Метод проверки доступности систем SoftLine
  `void` | `deleteSubscription​(SoftLineSubscription subscription, boolean cancelActiveSubscription)` | Удаление подписки
  `void` | `insertDownloadData​(SoftLineSubscription subscription)` | Запрос всех необходимых данных для продукта от SoftLine.
  `void` | `recalculate​(int contractId, java.util.Calendar month)` | Переобсчет наработки за определённый месяц
  `SearchResult<SoftLineSubscription>` | `searchSubscriptions​(Page page, Period period, int contractId, int subscriptionId, SubscriptionStatus status, int productId)` | Получения списка подписок с фильтрацией
  `void` | `sendDownloadDataOnUserEmail​(SoftLineSubscription subscription, java.lang.String userEmail)` | Отправка всех данных и справочной информации на почту пользователя при оформлении подписки
  `void` | `subscriptionPause​(SoftLineSubscription subscription, SubscriptionSuspendReason reason)` | Приостановка подписки
  `void` | `updateSubscription​(SoftLineSubscription subscription)` | Обновляет данные по подписки в базе.

- ## Method Details

  - ### searchSubscriptions

    SearchResult<SoftLineSubscription> searchSubscriptions​(Page page, Period period, int contractId, int subscriptionId, SubscriptionStatus status, int productId) throws ru.bitel.bgbilling.common.BGException
    Получения списка подписок с фильтрацией
    Parameters:
      `page` -
      `period` -
      `contractId` -
      `subscriptionId` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### activateSubscription

    void activateSubscription​(SoftLineSubscription subscription) throws ru.bitel.bgbilling.common.BGException
    Запрос на активацию подписки для договора(новой или ранее приостановленной)
    Parameters:
      `subscription` - - подписка
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### subscriptionPause

    void subscriptionPause​(SoftLineSubscription subscription, SubscriptionSuspendReason reason) throws ru.bitel.bgbilling.common.BGException
    Приостановка подписки
    Parameters:
      `subscription` - - подписка, которую приостанавливаем
      `reason` - - причина приостановски подписки. Если null, то будет указана как fin_block
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteSubscription

    void deleteSubscription​(SoftLineSubscription subscription, boolean cancelActiveSubscription) throws ru.bitel.bgbilling.common.BGException
    Удаление подписки
    Parameters:
      `subscription` - - удаляемая подписка
      `cancelActiveSubscription` - - флаг, нужно ли приостановить подписку в системе SoftLine, если у нее статус "активен"
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateSubscription

    void updateSubscription​(SoftLineSubscription subscription) throws ru.bitel.bgbilling.common.BGException
    Обновляет данные по подписки в базе. Если статус подписки изменился, то отправляет запрос к SoftLine
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkStatusSoftLine

    void checkStatusSoftLine() throws ru.bitel.bgbilling.common.BGException
    Метод проверки доступности систем SoftLine
    Throws:
      `ru.bitel.bgbilling.common.BGException` - - кидается ошибка в случае недоступности систем SoftLine

  - ### insertDownloadData

    void insertDownloadData​(SoftLineSubscription subscription) throws ru.bitel.bgbilling.common.BGException
    Запрос всех необходимых данных для продукта от SoftLine. При успешном запросе, возвращается строка json со всеми данными, так же обновляется поле downloadData в подписке
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### sendDownloadDataOnUserEmail

    void sendDownloadDataOnUserEmail​(SoftLineSubscription subscription, java.lang.String userEmail) throws ru.bitel.bgbilling.common.BGException
    Отправка всех данных и справочной информации на почту пользователя при оформлении подписки
    Parameters:
      `subscription` - - подписка уже с downloadData
      `userEmail` - - email пользователя
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### recalculate

    void recalculate​(int contractId, java.util.Calendar month) throws ru.bitel.bgbilling.common.BGException
    Переобсчет наработки за определённый месяц
    Parameters:
      `contractId` - - id договора
      `month` - - месяц переобсчёта
    Throws:
      `ru.bitel.bgbilling.common.BGException`