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

# Interface MangoService

    public interface MangoService

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `MangoAccount` | `bindAccount​(int contractId, int accountId)` | Привязка уже существующего аккаунта к договору.
  `java.math.BigDecimal` | `changeMangoBalance​(int contractId, java.math.BigDecimal sum, java.lang.String comment)` | Изменение Mango баланса.
  `MangoAccount` | `createAccount​(int contractId)` | Создание аккаунта
  `MangoAccount` | `getContractAccount​(int contractId)` | Получить аккаунт Mango
  `java.util.List<MangoFee>` | `getContractFee​(int contractId, java.util.Date date)` | Получение списка списаний Mango.
  `MangoAccountStatus` | `getMangoAccountStatus​(java.lang.String control)` |
  `java.util.List<MangoPhone>` | `getPhoneList​(int contractId)` | Список телефонов
  `java.util.List<MangoAccountProduct>` | `getProductList​(int contractId)` |
  `java.util.List<IdTitle>` | `getTariffTypeList()` | Список тарифов, заданных в конфиге.
  `void` | `phoneAdd​(int productId, java.lang.String phone)` | Привязка номера к продукту.
  `void` | `phoneRemove​(int phoneId)` | Удаление/закрытие номера
  `MangoAccountProduct` | `productAdd​(int contractId, int planId)` | Добавление продукта
  `void` | `productRemove​(int productId)` | Удаление/закрытие продукта
  `void` | `reloadFees​(java.util.Date date)` | Загрузка и начисления списаний на договора.

- ## Method Details

  - ### createAccount

    MangoAccount createAccount​(int contractId) throws ru.bitel.bgbilling.common.BGException
    Создание аккаунта
    Parameters:
      `contractId` - - код договора
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### bindAccount

    MangoAccount bindAccount​(int contractId, int accountId) throws ru.bitel.bgbilling.common.BGException
    Привязка уже существующего аккаунта к договору.
    Parameters:
      `contractId` - - код договора
      `accountId` - - идентификатор лс Mango
    Returns:
      - созданный аккаунт
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getContractAccount

    MangoAccount getContractAccount​(int contractId) throws ru.bitel.bgbilling.common.BGException
    Получить аккаунт Mango
    Parameters:
      `contractId` - - номер договора
    Returns:
      аккаунт, либо null, если нету привязанного аккаунта
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getMangoAccountStatus

    MangoAccountStatus getMangoAccountStatus​(java.lang.String control) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `control` - - номер лс Mango
    Returns:
      - статус от сервера Mango
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### changeMangoBalance

    java.math.BigDecimal changeMangoBalance​(int contractId, java.math.BigDecimal sum, java.lang.String comment) throws ru.bitel.bgbilling.common.BGException
    Изменение Mango баланса.
    Parameters:
      `contractId` - - номер договора
      `sum` - - сумма, может быть положительной или отрицательной.
      `comment` - - коммент, который передается в Mango.
    Returns:
      - баланс после изменения
    Throws:
      `ru.bitel.bgbilling.common.BGException` - - если учетка не найдена, или иные ошибки от Mango

  - ### getContractFee

    java.util.List<MangoFee> getContractFee​(int contractId, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Получение списка списаний Mango.
    Parameters:
      `contractId` - - код договора
      `date` - - месяц
    Returns:
      - список
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### reloadFees

    void reloadFees​(java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Загрузка и начисления списаний на договора. Перед занисением все предыдущие списания будут удалены, а затем новые загружены и начислены.
    Parameters:
      `date` - - день/файл за который будет произведено переначислиние.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getTariffTypeList

    java.util.List<IdTitle> getTariffTypeList() throws ru.bitel.bgbilling.common.BGException
    Список тарифов, заданных в конфиге.
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### productAdd

    MangoAccountProduct productAdd​(int contractId, int planId) throws ru.bitel.bgbilling.common.BGException
    Добавление продукта
    Parameters:
      `contractId` -
      `planId` - - ид тп манго
    Returns:
      - продукт
    Throws:
      `ru.bitel.bgbilling.common.BGException` - - если аккаунта нет у договора.

  - ### productRemove

    void productRemove​(int productId) throws ru.bitel.bgbilling.common.BGException
    Удаление/закрытие продукта
    Parameters:
      `productId` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getProductList

    java.util.List<MangoAccountProduct> getProductList​(int contractId) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `contractId` -
    Returns:
      - null, если аккаунта нет
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getPhoneList

    java.util.List<MangoPhone> getPhoneList​(int contractId) throws ru.bitel.bgbilling.common.BGException
    Список телефонов
    Parameters:
      `contractId` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### phoneAdd

    void phoneAdd​(int productId, java.lang.String phone) throws ru.bitel.bgbilling.common.BGException
    Привязка номера к продукту.
    Parameters:
      `productId` - - код продукта из биллинга
      `phone` - - 11 значный телефон
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### phoneRemove

    void phoneRemove​(int phoneId) throws ru.bitel.bgbilling.common.BGException
    Удаление/закрытие номера
    Parameters:
      `phoneId` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`