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

## Interface MangoService

-     public interface MangoService

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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 Detail

    - #### 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`