Interface MegafonContractService


public interface MegafonContractService
  • Method Details

    • getContractProductList

      SearchResult<MegafonContractProduct> getContractProductList(Page page, int contractId, MegafonContractProductStatus status) throws Exception
      Список продуктов для договора
      Parameters:
      contractId - invalid input: '<'=0 , если нужно все продукты
      status - возможная фильтрация по статусу или null
      Throws:
      Exception
    • checkActiveProductOnContracts

      boolean checkActiveProductOnContracts(int productId) throws Exception
      Проверка есть ли договора с подпиской на переданный продукт в активном статусе
      Parameters:
      productId - проверяемый продукт
      Returns:
      true - есть
      Throws:
      Exception
    • getHistoryList

      SearchResult<MegafonContractProductHistory> getHistoryList(Page page, int contractId, String msisdn, int productId, String productTitle, Period period) throws Exception
      Throws:
      Exception
    • checkAllowActivateProduct

      boolean checkAllowActivateProduct(MegafonContractProduct contractProduct) throws Exception
      Проверка возможности активации продукта на договоре
      Parameters:
      contractProduct - данные для проверки возможности оформления подписки
      Returns:
      true - активация возможно, false - активация невозможна ответил Мегафон
      Throws:
      ru.bitel.bgbilling.common.BGException - какая-то ошибка в параметрах или нет необходимых данных для проверки
      Exception
    • contractProductUpdate

      void contractProductUpdate(MegafonContractProduct contractProduct) throws Exception
      Сохранение продукта в БД. По сути 2 варианта: 1 - активация назначена в будущем, то сохраняет в БД и продукт в назначенную дату будет активирован задачей 2 - активация текущим числом Активация в прошлом запрещена
      Throws:
      Exception
    • productActivateRequest

      void productActivateRequest(MegafonContractProduct megafonContractProduct) throws Exception
      Запрос на активацию продукта Отправка запроса в Мегафон на создание заказа на активацию.
      Throws:
      Exception
    • productDeactivateRequest

      void productDeactivateRequest(MegafonContractProduct megafonContractProduct) throws Exception
      Запрос на деактивацию продукта. Отправка запроса в Мегафон на создание заказа на деактивацию.
      Throws:
      Exception
    • productActivate

      void productActivate(MegafonContractProduct megafonContractProduct) throws Exception
      Непосредственно активация продукта, если заказ на активацию был успешно выполнен
      Parameters:
      megafonContractProduct - данные продукта для активации
      Throws:
      Exception
    • productDeactivate

      void productDeactivate(MegafonContractProduct megafonContractProduct) throws Exception
      Непосредственно деактивация продукта, если заказ на деактивацию был успешно выполнен
      Throws:
      Exception
    • optionActivateRequest

      void optionActivateRequest(MegafonContractProduct contractProduct, MegafonOption option) throws Exception
      Запрос в Мегафон на активацию опции
      Parameters:
      contractProduct - активный продукт к которому активируется опция
      option - активируемая опция
      Throws:
      Exception
    • optionActivate

      void optionActivate(MegafonContractProduct contractProduct, MegafonContractOption contractOption) throws Exception
      Активация доп.опции
      Parameters:
      contractProduct - активный продукт к которому активируется опция
      contractOption - активируемая опция с привязкой к продукту на договоре
      Throws:
      Exception
    • synchronizeContractProducts

      void synchronizeContractProducts(int contractId, String msisdn, String additionalMsisdn) throws Exception
      Синхронизация продуктов с Мегафон. -запрос списка продуктов у Мегафон -только из активных продуктов происходит фильтрация и остаются только те, что заведены в модуле -создание и добавление таких продуктов на договор (так же добавление абон.платы, тарифа)
      Parameters:
      contractId - ID договора
      msisdn - номер для синхронизации
      Throws:
      Exception
    • getContractOptions

      SearchResult<MegafonContractOption> getContractOptions(Page page, int contractId) throws Exception
      Список доп.опций на договоре
      Throws:
      Exception
    • MNPProcessStart

      int MNPProcessStart(int contractId, String msisdn, String additionalMsisdn) throws Exception
      Регистрация MNP процесса в биллинге для дальнейшего отслеживания
      Parameters:
      contractId - ID договора
      msisdn - переносимый номер
      additionalMsisdn - временный номер
      Returns:
      ID резерва баланс на договоре
      Throws:
      Exception
    • getContractOptionInfo

      String getContractOptionInfo(int contractOptionId) throws Exception
      Parameters:
      contractOptionId - ID опции на договоре в биллинге
      Returns:
      подробная информация в JSON с остатками по подключённой опции
      Throws:
      Exception
    • checkOrderStatus

      void checkOrderStatus() throws Exception
      Принудительный запуск проверки статусов заказов Мегафон. Запускает #MegafonCheckOrderStatus и для всех продуктов и опций в статусе #MegafonContractProductStatus.ACTIVATION_ORDERED выполняется проверка выполнен ли заказ по их orderId
      Throws:
      Exception
    • getTariffDetailInfo

      String getTariffDetailInfo(int contractId, String msisdn) throws Exception
      Детальная информация о всех подключенных и активных продуктов и опций на договоре. Если номеров несколько, то вернёт детальную информацию по каждому номеру Если указан только contractId, то вернётся весь список подключенных msisdn для данного договора, если указан конкретный msisdn, то данные будут взяты только для данного номера Формирует JSONArray в формате: [ { "msisdn":"9992211333", "productOfferingId":504921, "status":2, - статус из MegafonContractProductStatus "statusDescription":"Активен", "isProduct":true, - true если продукт и false если опция "contractProductId":22, "contractOptionId":-1, "optionType":0, - тип опции ordinal из enum MegafonOptionType "dateFrom":"2025-10-27 14:21:22", "dateTo":"2025-11-01 14:21:22", "tariffRemainder": - остатки по тарифу. Если это продукт, то будет несколько остатков: минуты, смс, трафик [ { "description":"Интернет", "baseValue":150 - сколько было изначально оплачено "value":44, - сколько осталось "unit":"мб" }, { "description":"Звонки", "baseValue":150 "value":117, "unit":"минут" }, { "description":"СМС", "baseValue":150 "value":100, "unit":"шт" } ] } ]
      Throws:
      Exception
    • getCurrentBalance

      String getCurrentBalance(String msisdn) throws Exception
      Throws:
      Exception