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

# Interface MegogoService

    public interface MegogoService

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `abortUnsubscribe​(int contractSubscribeId)` | Отмена отключения подписки или перехода на другую подписку.
  `java.util.List<MegogoContractSubscription>` | `contractSubscriptionList​(int contractId, int serviceId, java.util.Date date)` | Получение списка подписок для договора.
  `int` | `deleteContractSubscription​(int contractServiceId)` | Удаление услуги с договора.
  `int` | `deleteTryAndBuy​(int id)` |
  `MegogoContractCredentials` | `getContractCredentials​(int contractId)` | Получить текущие учетные данные договора в системе Megogo
  `java.util.List<MegogoContractSubRequestLog>` | `getContractRequestLog​(int contractId)` | Получить лог запросов к мегаго от данного договора.
  `java.util.List<MegogoContractSubscription>` | `getContractSubscriptionListByType​(int contractId, int type, Period period)` | Получить список подписок конкретного типа.
  `java.util.List<MegogoContractSubscriptionStatusPeriod>` | `getContractSubscriptionStatusPeriodList​(int idSub, int status, Period period)` | Получить список статусов для конкретной подписки.
  `java.util.List<MegogoContractTryAndBuy>` | `getContractTryAndBuyList​(int contractId, Period period)` | Получить список Try&Buy конкретного договора.
  `java.lang.String` | `getRedirectUrl​(int contratId)` | Вроде по новому api это не обязательно.
  `MegogoSubscription` | `getSubscriptionByServiceId​(int serviceId)` | Получить подписку по коду услуги Код услуги и подписки соотносятся один к одному.
  `java.util.List<MegogoTryAndBuy>` | `getTryAndBuyList​(boolean onlyUsed)` | Получить список Try&Buy.
  `MapHolder<java.lang.Integer,​MegogoTryAndBuy>` | `getTryAndBuyMap​(boolean onlyUsed)` | Получить Map Try&Buy.
  `void` | `recalculate​(java.util.Date date, java.util.Set<java.lang.Integer> contractSet)` |
  `MegogoContractCredentials` | `requestCredentials​(int contractId, java.lang.String login, java.lang.String pwd)` | Запрос к Megogo на установку учетных данных.
  `void` | `resume​(int contractSubscribeId)` | Возобновление подписки.
  `void` | `subscribe​(int contractId, int serviceId)` | Добавлиение/переход на подписку.
  `java.util.List<MegogoSubscription>` | `subscriptionList​(java.lang.Boolean used, int type)` | Получить список подписок.
  `void` | `suspend​(int contractSubscribeId)` | Приостановка подписки.
  `void` | `unsubscribe​(int contractSubscribeId)` | Отказ от подписки.
  `int` | `updateContractSubscription​(MegogoContractSubscription contractSub, boolean sendToMegogo)` | Создание/обновление подписки у договора.
  `int` | `updateSubscription​(MegogoSubscription subscription)` |
  `int` | `updateTryAndBuy​(MegogoTryAndBuy megogoTryAndBuy)` | Обновление или создание try&buy

- ## Method Details

  - ### updateContractSubscription

    int updateContractSubscription​(MegogoContractSubscription contractSub, boolean sendToMegogo) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Создание/обновление подписки у договора. Производит запрос в Megogo, если дата активации с текущей. Если это оснавная подпика, а на договоре уже есть основная подписка. Произведет все нужные проверки на пересечения.
    Parameters:
      `contractService` - - подписка
      `sendToMegogo` - - если false, то запрос к Megogo отправляться не будет( при этом не дает гарантии, что этого не сделает планировщик )
    Returns:
      - код подписки
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### deleteContractSubscription

    int deleteContractSubscription​(int contractServiceId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Удаление услуги с договора.
    Parameters:
      `contractServiceId` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### contractSubscriptionList

    java.util.List<MegogoContractSubscription> contractSubscriptionList​(int contractId, int serviceId, java.util.Date date) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Получение списка подписок для договора.
    Parameters:
      `contractId` - - код договора.
      `serviceId` - - код услуги, если < 0, то все.
      `date` - - активные на дату, если null, то все
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### getContractSubscriptionListByType

    java.util.List<MegogoContractSubscription> getContractSubscriptionListByType​(int contractId, int type, Period period) throws ru.bitel.bgbilling.common.BGException
    Получить список подписок конкретного типа.
    Parameters:
      `contractId` - - код договора
      `type` - - тип подписки( 1- Основной, 2- дополнительный)
      `period` - - за какой промежуток, если == null, то за весь период, если одна из дат == null, то считаетя в бесконечность.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getContractSubscriptionStatusPeriodList

    java.util.List<MegogoContractSubscriptionStatusPeriod> getContractSubscriptionStatusPeriodList​(int idSub, int status, Period period) throws ru.bitel.bgbilling.common.BGException
    Получить список статусов для конкретной подписки.
    Parameters:
      `idSub` - - код подписки, обязательный параметр.
      `status` - - код статуса.
      `period` - - за какой период.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### subscribe

    void subscribe​(int contractId, int serviceId) throws ru.bitel.bgbilling.common.BGException
    Добавлиение/переход на подписку. Метод для WEB !
    Parameters:
      `contractId` - - код договора
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### unsubscribe

    void unsubscribe​(int contractSubscribeId) throws ru.bitel.bgbilling.common.BGException
    Отказ от подписки. Метод для WEB !
    Parameters:
      `contractSubscribeId` - - код подписки
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### abortUnsubscribe

    void abortUnsubscribe​(int contractSubscribeId) throws ru.bitel.bgbilling.common.BGException
    Отмена отключения подписки или перехода на другую подписку. Метод для WEB !
    Parameters:
      `contractSubscribeId` - - код подписки
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### suspend

    void suspend​(int contractSubscribeId) throws ru.bitel.bgbilling.common.BGException
    Приостановка подписки.
    Parameters:
      `contractSubscribeId` - - код подписки
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### resume

    void resume​(int contractSubscribeId) throws ru.bitel.bgbilling.common.BGException
    Возобновление подписки.
    Parameters:
      `contractSubscribeId` - - код подписки
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateSubscription

    int updateSubscription​(MegogoSubscription subscription) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### subscriptionList

    java.util.List<MegogoSubscription> subscriptionList​(java.lang.Boolean used, int type) throws ru.bitel.bgbilling.common.BGException
    Получить список подписок.
    Parameters:
      `used` - - если true - то только используемые, false - не используемые, null - все.
      `type` - - тип услуги. 1- основные, 2 - дополнительные независемые, -1 - все.
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getSubscriptionByServiceId

    MegogoSubscription getSubscriptionByServiceId​(int serviceId) throws ru.bitel.bgbilling.common.BGException
    Получить подписку по коду услуги
    Код услуги и подписки соотносятся один к одному.
    Parameters:
      `serviceId` - - код услуги модуля
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getTryAndBuyList

    java.util.List<MegogoTryAndBuy> getTryAndBuyList​(boolean onlyUsed) throws ru.bitel.bgbilling.common.BGException
    Получить список Try&Buy.
    Parameters:
      `onlyUsed` - - если true, то только используемые.
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getTryAndBuyMap

    MapHolder<java.lang.Integer,​MegogoTryAndBuy> getTryAndBuyMap​(boolean onlyUsed) throws ru.bitel.bgbilling.common.BGException
    Получить Map Try&Buy.
    Parameters:
      `onlyUsed` - - если true, то только используемые.
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateTryAndBuy

    int updateTryAndBuy​(MegogoTryAndBuy megogoTryAndBuy) throws ru.bitel.bgbilling.common.BGException
    Обновление или создание try&buy
    Parameters:
      `megogoTryAndBuy` -
    Returns:
      - id
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteTryAndBuy

    int deleteTryAndBuy​(int id) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `id` - - идентификатор Try&Buy
    Returns:
      - кол-во удаленных записей
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getContractTryAndBuyList

    java.util.List<MegogoContractTryAndBuy> getContractTryAndBuyList​(int contractId, Period period) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Получить список Try&Buy конкретного договора.
    Parameters:
      `contractId` - - код договора
      `period` - - период за который хотим получить. То есть вернет всякий try&buy пересекающий данный период.
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### getContractRequestLog

    java.util.List<MegogoContractSubRequestLog> getContractRequestLog​(int contractId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Получить лог запросов к мегаго от данного договора.
    Parameters:
      `contractId` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### requestCredentials

    MegogoContractCredentials requestCredentials​(int contractId, java.lang.String login, java.lang.String pwd) throws ru.bitel.bgbilling.common.BGException
    Запрос к Megogo на установку учетных данных. Логина и пароля в системе Megogo. Если это именно создание и учетных данных еще нет, то будет проверена уникальность login-a.
    Parameters:
      `contractId` -
      `login` - - логин(может быть null), будет применен, только если учетных данных еще нет, иначе будет запрошено текущее значение у Megogo и оно передано для установки пароля, то есть фактически будет произведена замена пароля и обновление логина( если он изменился на стороне Megogo )
      `pwd` - - пароль.Может быть null, тогда будет создан биллингом.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getContractCredentials

    MegogoContractCredentials getContractCredentials​(int contractId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Получить текущие учетные данные договора в системе Megogo
    Parameters:
      `contractId` - - код договора
    Returns:
      null, если учетных данных нет.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### getRedirectUrl

    java.lang.String getRedirectUrl​(int contratId) throws ru.bitel.bgbilling.common.BGException
    Вроде по новому api это не обязательно. Получить url для редиректа абонента для просмотра на megogo.
    Parameters:
      `contratId` - - код договора
    Returns:
      - url
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### recalculate

    void recalculate​(java.util.Date date, java.util.Set<java.lang.Integer> contractSet) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`