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) throws Exception
      Детальная информация о всех подключенных и активных продуктов и опций на договоре. Если номеров несколько, то вернёт детальную информацию по каждому номеру Формирует JSONArray в формате: [ { "msisdn":"9992211333", "productOfferingId":504921, "status":2, - статус из MegafonContractProductStatus "statusDescription":"Активен", "isProduct":true, - true если продукт и false если опция "contractProductId":22, "contractOptionId":-1, "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