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

- ## Method Details

  - ### createAccount

    MangoAccount createAccount(int contractId) throws Exception
    Создание аккаунта
    Parameters:
      `contractId` - - код договора
    Returns:
    Throws:
      `Exception`

  - ### bindAccount

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

  - ### getContractAccount

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

  - ### getMangoAccountStatus

    MangoAccountStatus getMangoAccountStatus(String control) throws Exception
    Parameters:
      `control` - - номер лс Mango
    Returns:
      - статус от сервера Mango
    Throws:
      `Exception`

  - ### changeMangoBalance

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

  - ### getContractFee

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

  - ### reloadFees

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

  - ### getTariffTypeList

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

  - ### productAdd

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

  - ### productRemove

    void productRemove(int productId) throws Exception
    Удаление/закрытие продукта
    Parameters:
      `productId` -
    Throws:
      `Exception`

  - ### getProductList

    List<MangoAccountProduct> getProductList(int contractId) throws Exception
    Parameters:
      `contractId` -
    Returns:
      - null, если аккаунта нет
    Throws:
      `Exception`

  - ### getPhoneList

    List<MangoPhone> getPhoneList(int contractId) throws Exception
    Список телефонов
    Parameters:
      `contractId` -
    Returns:
    Throws:
      `Exception`

  - ### phoneAdd

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

  - ### phoneRemove

    void phoneRemove(int phoneId) throws Exception
    Удаление/закрытие номера
    Parameters:
      `phoneId` -
    Throws:
      `Exception`