Interface MegafonContractService
public interface MegafonContractService
-
Method Summary
Modifier and TypeMethodDescriptionbooleancheckActiveProductOnContracts(int productId) Проверка есть ли договора с подпиской на переданный продукт в активном статусеbooleancheckAllowActivateProduct(MegafonContractProduct contractProduct) Проверка возможности активации продукта на договореvoidПринудительный запуск проверки статусов заказов Мегафон.voidcontractProductUpdate(MegafonContractProduct contractProduct) Сохранение продукта в БД.getContractOptionInfo(int contractOptionId) getContractOptions(Page page, int contractId) Список доп.опций на договореgetContractProductList(Page page, int contractId, MegafonContractProductStatus status) Список продуктов для договораgetCurrentBalance(String msisdn) getHistoryList(Page page, int contractId, String msisdn, int productId, String productTitle, Period period) getTariffDetailInfo(int contractId, String msisdn) Детальная информация о всех подключенных и активных продуктов и опций на договоре.intMNPProcessStart(int contractId, String msisdn, String additionalMsisdn) Регистрация MNP процесса в биллинге для дальнейшего отслеживанияvoidoptionActivate(MegafonContractProduct contractProduct, MegafonContractOption contractOption) Активация доп.опцииvoidoptionActivateRequest(MegafonContractProduct contractProduct, MegafonOption option) Запрос в Мегафон на активацию опцииvoidproductActivate(MegafonContractProduct megafonContractProduct) Непосредственно активация продукта, если заказ на активацию был успешно выполненvoidproductActivateRequest(MegafonContractProduct megafonContractProduct) Запрос на активацию продукта Отправка запроса в Мегафон на создание заказа на активацию.voidproductDeactivate(MegafonContractProduct megafonContractProduct) Непосредственно деактивация продукта, если заказ на деактивацию был успешно выполнен.voidproductDeactivateRequest(MegafonContractProduct megafonContractProduct) Запрос на деактивацию продукта.voidsynchronizeContractProducts(int contractId, String msisdn, String additionalMsisdn) Синхронизация продуктов с Мегафон.
-
Method Details
-
getContractProductList
SearchResult<MegafonContractProduct> getContractProductList(Page page, int contractId, MegafonContractProductStatus status) throws ru.bitel.bgbilling.common.BGException Список продуктов для договора- Parameters:
contractId- invalid input: '<'=0 , если нужно все продуктыstatus- возможная фильтрация по статусу или null- Throws:
ru.bitel.bgbilling.common.BGException
-
checkActiveProductOnContracts
boolean checkActiveProductOnContracts(int productId) throws ru.bitel.bgbilling.common.BGException Проверка есть ли договора с подпиской на переданный продукт в активном статусе- Parameters:
productId- проверяемый продукт- Returns:
- true - есть
- Throws:
ru.bitel.bgbilling.common.BGException
-
getHistoryList
SearchResult<MegafonContractProductHistory> getHistoryList(Page page, int contractId, String msisdn, int productId, String productTitle, Period period) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
checkAllowActivateProduct
boolean checkAllowActivateProduct(MegafonContractProduct contractProduct) throws ru.bitel.bgbilling.common.BGException Проверка возможности активации продукта на договоре- Parameters:
contractProduct- данные для проверки возможности оформления подписки- Returns:
- true - активация возможно, false - активация невозможна ответил Мегафон
- Throws:
ru.bitel.bgbilling.common.BGException- какая-то ошибка в параметрах или нет необходимых данных для проверки
-
contractProductUpdate
void contractProductUpdate(MegafonContractProduct contractProduct) throws ru.bitel.bgbilling.common.BGException Сохранение продукта в БД. По сути 2 варианта: 1 - активация назначена в будущем, то сохраняет в БД и продукт в назначенную дату будет активирован задачей 2 - активация текущим числом Активация в прошлом запрещена- Throws:
ru.bitel.bgbilling.common.BGException
-
productActivateRequest
void productActivateRequest(MegafonContractProduct megafonContractProduct) throws ru.bitel.bgbilling.common.BGException Запрос на активацию продукта Отправка запроса в Мегафон на создание заказа на активацию.- Throws:
ru.bitel.bgbilling.common.BGException
-
productDeactivateRequest
void productDeactivateRequest(MegafonContractProduct megafonContractProduct) throws ru.bitel.bgbilling.common.BGException Запрос на деактивацию продукта. Отправка запроса в Мегафон на создание заказа на деактивацию.- Throws:
ru.bitel.bgbilling.common.BGException
-
productActivate
void productActivate(MegafonContractProduct megafonContractProduct) throws ru.bitel.bgbilling.common.BGException Непосредственно активация продукта, если заказ на активацию был успешно выполнен- Parameters:
megafonContractProduct- данные продукта для активации- Throws:
ru.bitel.bgbilling.common.BGException
-
productDeactivate
void productDeactivate(MegafonContractProduct megafonContractProduct) throws ru.bitel.bgbilling.common.BGException Непосредственно деактивация продукта, если заказ на деактивацию был успешно выполнен. Или может быть вызван без запросов к Мегафону, т.к. если деактивировать в биллинге, то после окончания оплаченного периода, мегафон сам приостановит продукт- Throws:
ru.bitel.bgbilling.common.BGException
-
optionActivateRequest
void optionActivateRequest(MegafonContractProduct contractProduct, MegafonOption option) throws ru.bitel.bgbilling.common.BGException Запрос в Мегафон на активацию опции- Parameters:
contractProduct- активный продукт к которому активируется опцияoption- активируемая опция- Throws:
ru.bitel.bgbilling.common.BGException
-
optionActivate
void optionActivate(MegafonContractProduct contractProduct, MegafonContractOption contractOption) throws ru.bitel.bgbilling.common.BGException Активация доп.опции- Parameters:
contractProduct- активный продукт к которому активируется опцияcontractOption- активируемая опция с привязкой к продукту на договоре- Throws:
ru.bitel.bgbilling.common.BGException
-
synchronizeContractProducts
void synchronizeContractProducts(int contractId, String msisdn, String additionalMsisdn) throws ru.bitel.bgbilling.common.BGException Синхронизация продуктов с Мегафон. -запрос списка продуктов у Мегафон -только из активных продуктов происходит фильтрация и остаются только те, что заведены в модуле -создание и добавление таких продуктов на договор (так же добавление абон.платы, тарифа)- Parameters:
contractId- ID договораmsisdn- номер для синхронизации- Throws:
Exceptionru.bitel.bgbilling.common.BGException
-
getContractOptions
SearchResult<MegafonContractOption> getContractOptions(Page page, int contractId) throws ru.bitel.bgbilling.common.BGException Список доп.опций на договоре- Throws:
ru.bitel.bgbilling.common.BGException
-
MNPProcessStart
int MNPProcessStart(int contractId, String msisdn, String additionalMsisdn) throws ru.bitel.bgbilling.common.BGException Регистрация MNP процесса в биллинге для дальнейшего отслеживания- Parameters:
contractId- ID договораmsisdn- переносимый номерadditionalMsisdn- временный номер- Returns:
- ID резерва баланс на договоре
- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractOptionInfo
- Parameters:
contractOptionId- ID опции на договоре в биллинге- Returns:
- подробная информация в JSON с остатками по подключённой опции
- Throws:
ru.bitel.bgbilling.common.BGException
-
checkOrderStatus
void checkOrderStatus() throws ru.bitel.bgbilling.common.BGExceptionПринудительный запуск проверки статусов заказов Мегафон. Запускает #MegafonCheckOrderStatusи для всех продуктов и опций в статусе #MegafonContractProductStatus.ACTIVATION_ORDEREDвыполняется проверка выполнен ли заказ по их orderId- Throws:
ru.bitel.bgbilling.common.BGException
-
getTariffDetailInfo
String getTariffDetailInfo(int contractId, String msisdn) throws ru.bitel.bgbilling.common.BGException Детальная информация о всех подключенных и активных продуктов и опций на договоре. Если номеров несколько, то вернёт детальную информацию по каждому номеру Если указан только 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:
ru.bitel.bgbilling.common.BGException
-
getCurrentBalance
- Throws:
ru.bitel.bgbilling.common.BGException
-