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 Exception Основной метод продления периода продукта.- Parameters:
 tvTariffContext-tvTariffWorkerContext-tvTarifficationManager-contractRuntime-contractId-balance-limit-convergenceBalance-balanceInsuffient-tariffTreeSet-tvAccountRuntime-tvAccountId-currentTime-type- 0 - продление при активации или окончании периода,
1 - попытка продления заблокированного при платеже, 2 - планировщик- Returns:
 - Throws:
 ru.bitel.bgbilling.common.BGExceptionException
 - 
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 Exception - Throws:
 Exception
 - 
productsProlongate
public BigDecimal productsProlongate(ConnectionSet connectionSet, int contractId, BigDecimal balance, BigDecimal limit, ProlongationType type) throws Exception - Throws:
 Exception
 - 
productActivate
@Deprecated public BigDecimal productActivate(ProductSpec productSpec, ProductSpecActivationMode productSpecActivationMode, Product product, boolean sync, List<ProductEntry> productEntryList) throws Exception Deprecated.Активация продукта- Parameters:
 productSpec-productSpecActivationMode-product-sync- - нужно ли синхронизировать на MW (возможно не нужно, если активация идет через приставку и MW обратилась к нам, а мы подтвердили что можно активировать)productEntryList-- Returns:
 - Throws:
 ru.bitel.bgbilling.common.BGExceptionException
 - 
productActivate
public BigDecimal productActivate(ProductSpec productSpec, ProductSpecActivationMode productSpecActivationMode, Product product, boolean sync, List<ProductEntry> productEntryList, boolean customer) throws Exception Активация продукта- Parameters:
 productSpec-productSpecActivationMode-product-sync- - нужно ли синхронизировать на MW (возможно не нужно, если активация идет через приставку и MW обратилась к нам, а мы подтвердили что можно активировать)productEntryList-customer-- Returns:
 - Throws:
 ru.bitel.bgbilling.common.BGExceptionException
 - 
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
Будущая наработка для определения рекомендуемой к оплате суммы.- Parameters:
 contractId-dateTo-- Returns:
 - Throws:
 ru.bitel.bgbilling.common.BGExceptionSQLExceptionException
 - 
precalculateAccountDetail
public TvTarifficationManager.CalculateResult precalculateAccountDetail(int contractId, Date dateTo) throws Exception Будущая наработка для определения рекомендуемой к оплате суммы.- Parameters:
 contractId-dateTo-- Returns:
 - Throws:
 Exception
 - 
precalculateServiceCost
- Throws:
 Exception
 
 -