public class ProductManager
extends java.lang.Object
implements ru.bitel.common.worker.Recyclable
Modifier and Type | Class and Description |
---|---|
static class |
ProductManager.Entry |
Modifier and Type | Field and Description |
---|---|
protected static java.util.Comparator<ProductManager.Entry> |
ENTRY_COMPARATOR
Cортировка по приоритету, чтобы с более высоким приоритетом обсчитывалось раньше,
чтобы при нехватке денег продлялось то что важнее.
|
Constructor and Description |
---|
ProductManager(ru.bitel.bgbilling.kernel.container.managed.ServerContext context,
int moduleId) |
Modifier and Type | Method and Description |
---|---|
int |
getPrimaryPriority() |
int |
getSecondaryPriority() |
java.math.BigDecimal |
precalculateAccount(int contractId,
java.util.Date dateTo)
Будущая наработка для определения рекомендуемой к оплате суммы.
|
TvTarifficationManager.CalculateResult |
precalculateAccountDetail(int contractId,
java.util.Date dateTo)
Будущая наработка для определения рекомендуемой к оплате суммы.
|
ServiceCostCache |
precalculateServiceCost(int contractId,
java.util.Date dateTo) |
java.math.BigDecimal |
productActivate(ProductSpec productSpec,
ProductSpecActivationMode productSpecActivationMode,
Product product,
boolean sync,
java.util.List<ProductEntry> productEntryList)
Deprecated.
|
java.math.BigDecimal |
productActivate(ProductSpec productSpec,
ProductSpecActivationMode productSpecActivationMode,
Product product,
boolean sync,
java.util.List<ProductEntry> productEntryList,
boolean customer)
Активация продукта
|
void |
productDelete(Product product,
boolean sync,
java.util.List<ProductEntry> productEntryList) |
java.math.BigDecimal |
productsProlongate(ConnectionSet connectionSet,
ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime,
int contractId,
java.math.BigDecimal balance,
java.math.BigDecimal limit,
java.util.Date time,
ProlongationType type) |
java.math.BigDecimal |
productsProlongate(ConnectionSet connectionSet,
int contractId,
java.math.BigDecimal balance,
java.math.BigDecimal limit,
ProlongationType type) |
java.math.BigDecimal |
productsProlongate(ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffContext tvTariffContext,
ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffWorkerContext tvTariffWorkerContext,
TvTarifficationManager tvTarifficationManager,
ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime,
int contractId,
java.math.BigDecimal balance,
java.math.BigDecimal limit,
ru.bitel.bgbilling.kernel.tariff.tree.server.TariffModuleTreeSet tariffTreeSet,
TvAccountRuntimeMap tvAccountRuntimeMap,
java.util.Date currentTime,
ProlongationType type)
Основной метод продления периода продукта.
|
protected void |
recalculate(int contractId,
java.util.Date timeFrom,
java.util.Date timeTo) |
void |
recycle() |
void |
setPrimaryPriority(int primaryPriority) |
void |
setSecondaryPriority(int secondaryPriority) |
protected static final java.util.Comparator<ProductManager.Entry> ENTRY_COMPARATOR
public ProductManager(ru.bitel.bgbilling.kernel.container.managed.ServerContext context, int moduleId) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
public int getPrimaryPriority()
public void setPrimaryPriority(int primaryPriority)
public int getSecondaryPriority()
public void setSecondaryPriority(int secondaryPriority)
public void recycle()
recycle
in interface ru.bitel.common.worker.Recyclable
public java.math.BigDecimal productsProlongate(ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffContext tvTariffContext, ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffWorkerContext tvTariffWorkerContext, TvTarifficationManager tvTarifficationManager, ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, int contractId, java.math.BigDecimal balance, java.math.BigDecimal limit, ru.bitel.bgbilling.kernel.tariff.tree.server.TariffModuleTreeSet tariffTreeSet, TvAccountRuntimeMap tvAccountRuntimeMap, java.util.Date currentTime, ProlongationType type) throws ru.bitel.bgbilling.common.BGException
tvTariffContext
- tvTariffWorkerContext
- tvTarifficationManager
- contractRuntime
- contractId
- balance
- limit
- convergenceBalance
- balanceInsuffient
- tariffTreeSet
- tvAccountRuntime
- tvAccountId
- currentTime
- type
- 0 - продление при активации или окончании периода,ru.bitel.bgbilling.common.BGException
public java.math.BigDecimal productsProlongate(ConnectionSet connectionSet, ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, int contractId, java.math.BigDecimal balance, java.math.BigDecimal limit, java.util.Date time, ProlongationType type) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
public java.math.BigDecimal productsProlongate(ConnectionSet connectionSet, int contractId, java.math.BigDecimal balance, java.math.BigDecimal limit, ProlongationType type) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
@Deprecated public java.math.BigDecimal productActivate(ProductSpec productSpec, ProductSpecActivationMode productSpecActivationMode, Product product, boolean sync, java.util.List<ProductEntry> productEntryList) throws ru.bitel.bgbilling.common.BGException
productSpec
- productSpecActivationMode
- product
- sync
- - нужно ли синхронизировать на MW (возможно не нужно, если активация идет через приставку и MW обратилась к нам, а мы подтвердили что можно активировать)productEntryList
- ru.bitel.bgbilling.common.BGException
public java.math.BigDecimal productActivate(ProductSpec productSpec, ProductSpecActivationMode productSpecActivationMode, Product product, boolean sync, java.util.List<ProductEntry> productEntryList, boolean customer) throws ru.bitel.bgbilling.common.BGException
productSpec
- productSpecActivationMode
- product
- sync
- - нужно ли синхронизировать на MW (возможно не нужно, если активация идет через приставку и MW обратилась к нам, а мы подтвердили что можно активировать)productEntryList
- customer
- ru.bitel.bgbilling.common.BGException
public void productDelete(Product product, boolean sync, java.util.List<ProductEntry> productEntryList) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
protected void recalculate(int contractId, java.util.Date timeFrom, java.util.Date timeTo)
public java.math.BigDecimal precalculateAccount(int contractId, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException
contractId
- dateTo
- ru.bitel.bgbilling.common.BGException
java.sql.SQLException
public TvTarifficationManager.CalculateResult precalculateAccountDetail(int contractId, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException
contractId
- dateTo
- ru.bitel.bgbilling.common.BGException
java.sql.SQLException
public ServiceCostCache precalculateServiceCost(int contractId, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException