Package ru.bitel.bgbilling.modules.tv.server

# Class TvUtils

java.lang.Object
ru.bitel.bgbilling.modules.tv.server.TvUtils

public class TvUtils extends Object

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TvUtils()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static boolean`
  `checkDependent(ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, TvAccountRuntimeRoot tvAccountRuntime, int accountId, Calendar tariffRequestTime, Set<Integer> prolongatedProductSpecId, ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost serviceCost)`
  Проверка на то, что продукт зависимы и может ли быть он продлен.
  `static boolean`
  `checkIncompatible(ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, TvAccountRuntimeRoot tvAccountRuntime, int accountId, Calendar requestTime, Set<Integer> prolongatedProductSpecId, ProductSpec productSpec)`
  Проверка на то, что есть активные несовместимые.
  `static List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost>`
  `createServiceCostList(ProductSpecRuntimeMap productSpecRuntimeMap, List<ProductManager.Entry> entryList)`
  `static List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost>`
  `createServiceCostList(ProductSpecRuntimeMap productSpecRuntimeMap, TvAccountRuntime tvAccountRuntime, long millis)`
  Список TvServiceCost для текущих активных периодов.
  `static List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost>`
  `createServiceCostListForRecalculate(ProductSpecRuntimeMap productSpecRuntimeMap, List<ProductManager.Entry> entryList)`
  `static long`
  `dateFrom(Date dateFrom, Calendar utilCalendar)`
  `static long`
  `dateTo(Date dateTo, Calendar utilCalendar)`
  `static void`
  `filterServiceCostList(List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> serviceCostList, Calendar tariffPeriodStart, Calendar tariffPeriodStop, List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> workingServiceCostList, Set<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> processedSet)`
  Отфильтровывание по началу нового тарифа
  `static Map<Pair<Integer,Integer>,Pair<ProductOffering,ProductOfferingActivationMode>>`
  `getProductOfferingMap(List<ProductOffering> productOfferingList)`
  `static Set<Calendar>`
  `getTariffPeriods(Date begin, ru.bitel.bgbilling.kernel.tariff.server.tree.TariffModuleTreeSet tariffTreeSet)`
  Получение дат смены тарифа (набор dateFrom и dateTo из contract_tariff).
  `static URL`
  `getUrl(Device<?,?> tvDevice, ParameterMap config, String paramName, String paramName2, String defaultHost, int defaultPort)`
  Получение URL для подключения к MW по http/https.
  `static String`
  `macAddressToString(byte[] macAddress)`
  `static Date`
  `moveSecond(Date time, int amount, Calendar utilCalendar)`
  `static byte[]`
  `parseMacAddress(String macAddress)`
  `static long`
  `periodAmountToUnit(int periodMode, int periodAmount, TimeUnit unit)`
  `static long`
  `secondsFrom(Date time)`
  `static long`
  `secondsTo(Date time)`
  `static Calendar`
  `toCalendar(long millis)`
  `static Calendar`
  `toCalendarFrom(Date time)`
  `static Calendar`
  `toCalendarTo(Date time)`
  `static Date`
  `toDate(long millis)`

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

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

- ## Constructor Details

  - ### TvUtils

    public TvUtils()

- ## Method Details

  - ### secondsFrom

    public static long secondsFrom(Date time)

  - ### secondsTo

    public static long secondsTo(Date time)

  - ### dateFrom

    public static long dateFrom(Date dateFrom, Calendar utilCalendar)

  - ### dateTo

    public static long dateTo(Date dateTo, Calendar utilCalendar)

  - ### toCalendar

    public static Calendar toCalendar(long millis)

  - ### toCalendarFrom

    public static Calendar toCalendarFrom(Date time)

  - ### toCalendarTo

    public static Calendar toCalendarTo(Date time)

  - ### toDate

    public static Date toDate(long millis)

  - ### moveSecond

    public static Date moveSecond(Date time, int amount, Calendar utilCalendar)

  - ### periodAmountToUnit

    public static long periodAmountToUnit(int periodMode, int periodAmount, TimeUnit unit)

  - ### parseMacAddress

    public static byte[] parseMacAddress(String macAddress)

  - ### macAddressToString

    public static String macAddressToString(byte[] macAddress)

  - ### createServiceCostList

    public static List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> createServiceCostList(ProductSpecRuntimeMap productSpecRuntimeMap, List<ProductManager.Entry> entryList) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### createServiceCostListForRecalculate

    public static List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> createServiceCostListForRecalculate(ProductSpecRuntimeMap productSpecRuntimeMap, List<ProductManager.Entry> entryList) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### createServiceCostList

    public static List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> createServiceCostList(ProductSpecRuntimeMap productSpecRuntimeMap, TvAccountRuntime tvAccountRuntime, long millis) throws ru.bitel.bgbilling.common.BGException
    Список TvServiceCost для текущих активных периодов. Для выяснении стоимости.
    Parameters:
      `productSpecRuntimeMap` -
      `tvAccountRuntime` -
      `millis` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getProductOfferingMap

    public static Map<Pair<Integer,Integer>,Pair<ProductOffering,ProductOfferingActivationMode>> getProductOfferingMap(List<ProductOffering> productOfferingList)

  - ### filterServiceCostList

    public static void filterServiceCostList(List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> serviceCostList, Calendar tariffPeriodStart, Calendar tariffPeriodStop, List<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> workingServiceCostList, Set<ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost> processedSet)
    Отфильтровывание по началу нового тарифа
    Parameters:
      `serviceCostList` -
      `workingServiceCostList` -
      `processedSet` -
      `tariffPeriod` -

  - ### getTariffPeriods

    public static Set<Calendar> getTariffPeriods(Date begin, ru.bitel.bgbilling.kernel.tariff.server.tree.TariffModuleTreeSet tariffTreeSet)
    Получение дат смены тарифа (набор dateFrom и dateTo из contract_tariff). При этом это всегда 23:59:59.999 (даже для dateFrom - для него отнимается 1мс).
    Parameters:
      `tariffTreeSet` -
    Returns:

  - ### getUrl

    public static URL getUrl(Device<?,?> tvDevice, ParameterMap config, String paramName, String paramName2, String defaultHost, int defaultPort) throws MalformedURLException
    Получение URL для подключения к MW по http/https.
    Parameters:
      `tvDevice` - устройство.
      `config` - конфиг устройства.
      `paramName` - параметр конфигурации, где может быть указан URL.
      `paramName2` - дополнительный параметр конфигурации, где может быть указан URL.
      `defaultHost` - хост по умолчанию.
      `defaultPort` - порт по умолчанию.
    Returns:
    Throws:
      `MalformedURLException`

  - ### checkIncompatible

    public static boolean checkIncompatible(ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, TvAccountRuntimeRoot tvAccountRuntime, int accountId, Calendar requestTime, Set<Integer> prolongatedProductSpecId, ProductSpec productSpec) throws ru.bitel.bgbilling.common.BGException
    Проверка на то, что есть активные несовместимые.
    Parameters:
      `contractRuntime` -
      `tvAccountRuntime` - может быть null, если вызван не из аккаунтинга
      `accountId` -
      `requestTime` -
      `prolongatedProductSpecId` -
      `serviceCost` -
    Returns:
      false, если продукт зависимый и не может быть продлен. true, если иначе.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkDependent

    public static boolean checkDependent(ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime contractRuntime, TvAccountRuntimeRoot tvAccountRuntime, int accountId, Calendar tariffRequestTime, Set<Integer> prolongatedProductSpecId, ru.bitel.bgbilling.modules.tv.server.tariff.TvServiceCost serviceCost) throws ru.bitel.bgbilling.common.BGException
    Проверка на то, что продукт зависимы и может ли быть он продлен.
    Parameters:
      `contractRuntime` -
      `tvAccountRuntime` -
      `accountId` -
      `tariffRequestTime` -
      `prolongatedProductSpecId` -
      `serviceCost` -
    Returns:
      false, если продукт зависимый и не может быть продлен. true, если иначе.
    Throws:
      `ru.bitel.bgbilling.common.BGException`