ru.bitel.bgbilling.modules.tv.runtime

## Class TvTarifficationManager

- java.lang.Object
- - ru.bitel.bgbilling.modules.tv.runtime.TvTarifficationManager

-     public class TvTarifficationManager
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `TvTarifficationManager.AccountDelta`
    `static class` | `TvTarifficationManager.CalculateResult`
    `static class` | `TvTarifficationManager.MonthKey`
    `static class` | `TvTarifficationManager.ProductAccountKey`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TvTarifficationManager(Setup setup, ConnectionSet connectionSet, int moduleId)`
    `TvTarifficationManager(Setup setup, ConnectionSet connectionSet, int moduleId, PoolEventPublisher<ContractBalanceChangedEvent> balanceEP)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `TvTarifficationManager.CalculateResult` | `calculate(boolean detailAccount, boolean addAccount, ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffContext tariffContext, ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffWorkerContext workerContext, boolean activation, boolean period, ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, int contractId, ContractTariffOptionList contractTariffOptions, TvAccountRuntimeRoot tvAccountRuntime, int accountId, java.util.List<ru.bitel.bgbilling.modules.tv.tariff.server.TvServiceCost> serviceCostList, ru.bitel.bgbilling.kernel.tariff.tree.server.TariffModuleTreeSet treeSet, java.util.Calendar tariffRequestTime, java.util.Date currentTime, java.math.BigDecimal balance, java.math.BigDecimal limit, boolean error, boolean recalculate, java.util.Date filterTimeFrom, java.util.Date filterTimeTo, ProductRejectCause reject)` Тарификация и начисление наработки, если денег хватает и ошибок нет.
    `ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffRequest` | `tarifficate(int contractId, TvAccountRuntime tvAccountRuntime, java.util.Date date)` Тарификация текущих продуктов для выяснения опций.
    `ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffRequest` | `tarifficate(int contractId, TvAccountRuntime tvAccountRuntime, int accountId, java.util.List<ru.bitel.bgbilling.kernel.tariff.tree.server.TariffModuleTreeSet.Entry> treeList, java.util.List<ru.bitel.bgbilling.modules.tv.tariff.server.TvServiceCost> serviceCostList, java.util.Date date, java.util.Calendar calendar)` Тарификация предложений продуктов (чтобы показать цену до активации)
    `ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffRequest` | `tarifficateOfferings(java.sql.Connection con, int tariffPlanId, java.util.List<ProductOffering> productOfferingList, java.util.Date date)`
    `ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffRequest` | `tarifficateOfferings(int contractId, int accountId, java.util.List<ProductOffering> productOfferingList, java.util.Date date)` Тарификация предложений продуктов (чтобы показать цену до активации)

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TvTarifficationManager

          public TvTarifficationManager(Setup setup,
                                        ConnectionSet connectionSet,
                                        int moduleId)

    - #### TvTarifficationManager

          public TvTarifficationManager(Setup setup,
                                        ConnectionSet connectionSet,
                                        int moduleId,
                                        PoolEventPublisher<ContractBalanceChangedEvent> balanceEP)

  - ### Method Detail

    - #### tarifficate

          public ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffRequest tarifficate(int contractId,
                                                                                         TvAccountRuntime tvAccountRuntime,
                                                                                         java.util.Date date)
                                                                                  throws ru.bitel.bgbilling.common.BGException

      Тарификация текущих продуктов для выяснения опций.
      Parameters:
        `contractId` -
        `tvAccountRuntime` -
        `date` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### tarifficate

          public ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffRequest tarifficate(int contractId,
                                                                                         TvAccountRuntime tvAccountRuntime,
                                                                                         int accountId,
                                                                                         java.util.List<ru.bitel.bgbilling.kernel.tariff.tree.server.TariffModuleTreeSet.Entry> treeList,
                                                                                         java.util.List<ru.bitel.bgbilling.modules.tv.tariff.server.TvServiceCost> serviceCostList,
                                                                                         java.util.Date date,
                                                                                         java.util.Calendar calendar)
                                                                                  throws ru.bitel.bgbilling.common.BGException

      Тарификация предложений продуктов (чтобы показать цену до активации)
      Parameters:
        `contractId` -
        `accountId` -
        `productOfferingList` -
        `date` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### tarifficateOfferings

          public ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffRequest tarifficateOfferings(int contractId,
                                                                                                  int accountId,
                                                                                                  java.util.List<ProductOffering> productOfferingList,
                                                                                                  java.util.Date date)
                                                                                           throws ru.bitel.bgbilling.common.BGException

      Тарификация предложений продуктов (чтобы показать цену до активации)
      Parameters:
        `contractId` -
        `accountId` -
        `productOfferingList` -
        `date` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### tarifficateOfferings

          public ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffRequest tarifficateOfferings(java.sql.Connection con,
                                                                                                  int tariffPlanId,
                                                                                                  java.util.List<ProductOffering> productOfferingList,
                                                                                                  java.util.Date date)
                                                                                           throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### calculate

          public TvTarifficationManager.CalculateResult calculate(boolean detailAccount,
                                                                  boolean addAccount,
                                                                  ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffContext tariffContext,
                                                                  ru.bitel.bgbilling.modules.tv.tariff.server.TvTariffWorkerContext workerContext,
                                                                  boolean activation,
                                                                  boolean period,
                                                                  ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime,
                                                                  int contractId,
                                                                  ContractTariffOptionList contractTariffOptions,
                                                                  TvAccountRuntimeRoot tvAccountRuntime,
                                                                  int accountId,
                                                                  java.util.List<ru.bitel.bgbilling.modules.tv.tariff.server.TvServiceCost> serviceCostList,
                                                                  ru.bitel.bgbilling.kernel.tariff.tree.server.TariffModuleTreeSet treeSet,
                                                                  java.util.Calendar tariffRequestTime,
                                                                  java.util.Date currentTime,
                                                                  java.math.BigDecimal balance,
                                                                  java.math.BigDecimal limit,
                                                                  boolean error,
                                                                  boolean recalculate,
                                                                  java.util.Date filterTimeFrom,
                                                                  java.util.Date filterTimeTo,
                                                                  ProductRejectCause reject)
                                                           throws ru.bitel.bgbilling.common.BGException

      Тарификация и начисление наработки, если денег хватает и ошибок нет. Иначе флаг prolongation будет равен TvServiceCost.PROLONGATION_REJECTED.
      Parameters:
        `tariffContext` -
        `workerContext` -
        `activation` - обсчитываем активацию
        `period` - обсчитываем продление периода
        `contractRuntime` -
        `contractId` -
        `tariffOptionMap` -
        `tvAccountRuntime` - - может быть null, если вызвано не из TvAccounting
        `accountId` -
        `serviceCostList` -
        `treeSet` -
        `wantPeriodStart` - время, с которого нужно продлевать
        `currentTime` - текущее время
        `balance` -
        `limit` -
        `error` - нужно ли выдавать ошибку, если цена/услуга не найдена
        `withoutDelays` - без неактивных промежутков (не должно возникнуть таких)
        `reject` - - если true, то нужно отклонить продление (например, статус договора закрыт)
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`