Class ProductManager
java.lang.Object
ru.bitel.bgbilling.modules.tv.server.ProductManager
- All Implemented Interfaces:
AutoCloseable
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final Comparator<ProductManager.Entry>
Cортировка по приоритету, чтобы с более высоким приоритетом обсчитывалось раньше, чтобы при нехватке денег продлялось то что важнее. -
Constructor Summary
ConstructorDescriptionProductManager
(ru.bitel.bgbilling.kernel.container.managed.ServerContext context, int moduleId) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
int
int
precalculateAccount
(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) Активация продуктаvoid
productDelete
(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 void
recalculate
(int contractId, Date timeFrom, Date timeTo) void
setPrimaryPriority
(int primaryPriority) void
setSecondaryPriority
(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:
close
in 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.BGException
ru.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.BGException
ru.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.BGException
SQLException
-
precalculateAccountDetail
public TvTarifficationManager.CalculateResult precalculateAccountDetail(int contractId, Date dateTo) throws ru.bitel.bgbilling.common.BGException Будущая наработка для определения рекомендуемой к оплате суммы.- Parameters:
contractId
-dateTo
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
SQLException
-
precalculateServiceCost
public ServiceCostCache precalculateServiceCost(int contractId, Date dateTo) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-