Class ProductManager
java.lang.Object
ru.bitel.bgbilling.modules.tv.server.ProductManager
- All Implemented Interfaces:
AutoCloseable
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Comparator<ProductManager.Entry>Cортировка по приоритету, чтобы с более высоким приоритетом обсчитывалось раньше, чтобы при нехватке денег продлялось то что важнее. -
Constructor Summary
ConstructorsConstructorDescriptionProductManager(ru.bitel.bgbilling.kernel.container.managed.ServerContext context, int moduleId) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()intintprecalculateAccount(int contractId, Date dateTo) Будущая наработка для определения рекомендуемой к оплате суммы.precalculateAccountDetail(int contractId, Date dateTo) Будущая наработка для определения рекомендуемой к оплате суммы.precalculateServiceCost(int contractId, Date dateTo) productActivate(ProductSpec productSpec, ProductSpecActivationMode productSpecActivationMode, Product product, boolean sync, List<ProductEntry> productEntryList) Deprecated.productActivate(ProductSpec productSpec, ProductSpecActivationMode productSpecActivationMode, Product product, boolean sync, List<ProductEntry> productEntryList, boolean customer) Активация продуктаvoidproductDelete(Product product, boolean sync, List<ProductEntry> productEntryList) productsProlongate(ru.bitel.bgbilling.modules.tv.server.tariff.TvTariffContext tvTariffContext, ru.bitel.bgbilling.modules.tv.server.tariff.TvTariffWorkerContext tvTariffWorkerContext, TvTarifficationManager tvTarifficationManager, ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, int contractId, BigDecimal balance, BigDecimal limit, ru.bitel.bgbilling.kernel.tariff.server.tree.TariffModuleTreeSet tariffTreeSet, TvAccountRuntimeMap tvAccountRuntimeMap, Date currentTime, ProlongationType type) Основной метод продления периода продукта.productsProlongate(ConnectionSet connectionSet, int contractId, BigDecimal balance, BigDecimal limit, ProlongationType type) productsProlongate(ConnectionSet connectionSet, ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, int contractId, BigDecimal balance, BigDecimal limit, Date time, ProlongationType type) protected voidrecalculate(int contractId, Date timeFrom, Date timeTo) voidsetPrimaryPriority(int primaryPriority) voidsetSecondaryPriority(int secondaryPriority)
-
Field Details
-
ENTRY_COMPARATOR
Cортировка по приоритету, чтобы с более высоким приоритетом обсчитывалось раньше, чтобы при нехватке денег продлялось то что важнее. Более большой priority - в начале. Также, если продукт зависит от другого продукта - он ближе к концу, чем тот, от которого он зависит.
-
-
Constructor Details
-
ProductManager
public ProductManager(ru.bitel.bgbilling.kernel.container.managed.ServerContext context, int moduleId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
-
Method Details
-
getPrimaryPriority
public int getPrimaryPriority() -
setPrimaryPriority
public void setPrimaryPriority(int primaryPriority) -
getSecondaryPriority
public int getSecondaryPriority() -
setSecondaryPriority
public void setSecondaryPriority(int secondaryPriority) -
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
productsProlongate
public BigDecimal productsProlongate(ru.bitel.bgbilling.modules.tv.server.tariff.TvTariffContext tvTariffContext, ru.bitel.bgbilling.modules.tv.server.tariff.TvTariffWorkerContext tvTariffWorkerContext, TvTarifficationManager tvTarifficationManager, ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, int contractId, BigDecimal balance, BigDecimal limit, ru.bitel.bgbilling.kernel.tariff.server.tree.TariffModuleTreeSet tariffTreeSet, TvAccountRuntimeMap tvAccountRuntimeMap, Date currentTime, ProlongationType type) throws ru.bitel.bgbilling.common.BGException Основной метод продления периода продукта.- Parameters:
tvTariffContext-tvTariffWorkerContext-tvTarifficationManager-contractRuntime-contractId-balance-limit-convergenceBalance-balanceInsuffient-tariffTreeSet-tvAccountRuntime-tvAccountId-currentTime-type- 0 - продление при активации или окончании периода,
1 - попытка продления заблокированного при платеже, 2 - планировщик- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
productsProlongate
public BigDecimal productsProlongate(ConnectionSet connectionSet, ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, int contractId, BigDecimal balance, BigDecimal limit, Date time, ProlongationType type) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
productsProlongate
public BigDecimal productsProlongate(ConnectionSet connectionSet, int contractId, BigDecimal balance, BigDecimal limit, ProlongationType type) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
productActivate
@Deprecated public BigDecimal productActivate(ProductSpec productSpec, ProductSpecActivationMode productSpecActivationMode, Product product, boolean sync, List<ProductEntry> productEntryList) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException Deprecated.Активация продукта- Parameters:
productSpec-productSpecActivationMode-product-sync- - нужно ли синхронизировать на MW (возможно не нужно, если активация идет через приставку и MW обратилась к нам, а мы подтвердили что можно активировать)productEntryList-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGExceptionru.bitel.bgbilling.common.BGMessageException
-
productActivate
public BigDecimal productActivate(ProductSpec productSpec, ProductSpecActivationMode productSpecActivationMode, Product product, boolean sync, List<ProductEntry> productEntryList, boolean customer) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException Активация продукта- Parameters:
productSpec-productSpecActivationMode-product-sync- - нужно ли синхронизировать на MW (возможно не нужно, если активация идет через приставку и MW обратилась к нам, а мы подтвердили что можно активировать)productEntryList-customer-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGExceptionru.bitel.bgbilling.common.BGMessageException
-
productDelete
public void productDelete(Product product, boolean sync, List<ProductEntry> productEntryList) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
recalculate
-
precalculateAccount
public BigDecimal precalculateAccount(int contractId, Date dateTo) throws ru.bitel.bgbilling.common.BGException Будущая наработка для определения рекомендуемой к оплате суммы.- Parameters:
contractId-dateTo-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
precalculateAccountDetail
public TvTarifficationManager.CalculateResult precalculateAccountDetail(int contractId, Date dateTo) throws ru.bitel.bgbilling.common.BGException Будущая наработка для определения рекомендуемой к оплате суммы.- Parameters:
contractId-dateTo-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
precalculateServiceCost
public ServiceCostCache precalculateServiceCost(int contractId, Date dateTo) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-