Package ru.bitel.bgbilling.modules.license.server.utils

# Class LicenseUtils

java.lang.Object
ru.bitel.bgbilling.modules.license.server.utils.LicenseUtils

public class LicenseUtils extends Object

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LicenseUtils()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static String`
  `buildLicenseCostUrlRequest(String itemName, Integer itemCount, String version, Preferences moduleSetup)`
  `static String`
  `buildLicenseCostUrlRequest(List<LicenseOrderConfirmed> packageItems, String version, ParameterMap moduleSetup)`
  Формирует url-запрос на получение стоимостей компонентов.
  `static String`
  `buildLicenseCostUrlRequest(LicenseOrderConfirmed item, String version, Preferences moduleSetup)`
  Формирует url-запрос на получение стоимости одного компонентоа.
  `static String`
  `encryptLicenseText(String originalText, String path, String launchString)`
  Зашифровывает текст лицензии
  `static String`
  `encryptLicenseText(String originalText, Preferences moduleSetup)`
  `static String`
  `formatCost(float cost)`
  Преобразует стоимость в строку формата "0,00"
  `static float`
  `getCost(String costRequestUrl, jakarta.xml.ws.Holder<Integer> holderUnlimitCount)`
  Получает стоимость для одного компонента.
  `static LicenseOrderBillData`
  `getCostDelta(String itemName, Integer confirmedItemsCount, Integer itemCountDelta, String version, Preferences moduleSetup)`
  Получает стоимость для добавляемого компонента как разницу стоимости предыдущей лицензии и лицензии после добавления к ней новых договоров
  `static Map<String,BigDecimal>`
  `getCosts(String costRequestUrl)`
  Получает стоимости компонентов.
  `static String`
  `getLicenseText(List<LicenseOrderConfirmed> copyItems, LicenseManager licenseManager, int contractId, Preferences moduleSetup, LicenseCopy copy)`
  Получает текст лицензии.
  `static String`
  `getShortVersion(String version)`
  `static String`
  `sendLiceneseText(String mails, String licenseText, String subject, int moduleId)`
  Отправляет текст лицензии по заданным адресам.

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

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

- ## Constructor Details

  - ### LicenseUtils

    public LicenseUtils()

- ## Method Details

  - ### getLicenseText

    public static String getLicenseText(List<LicenseOrderConfirmed> copyItems, LicenseManager licenseManager, int contractId, Preferences moduleSetup, LicenseCopy copy) throws Exception
    Получает текст лицензии.
    Parameters:
      `copyItems` - - список компонентов
      `licenseManager` - - менеджер лицензий
      `contractId` - - id договора
      `moduleSetup` - - конфигурация модуля
      `contractManager` - - менеджер договоров
    Returns:
      текст лицензии
    Throws:
      `Exception`

  - ### encryptLicenseText

    public static String encryptLicenseText(String originalText, Preferences moduleSetup) throws IOException
    Throws:
      `IOException`

  - ### encryptLicenseText

    public static String encryptLicenseText(String originalText, String path, String launchString) throws IOException
    Зашифровывает текст лицензии
    Parameters:
      `originalText` - - исходный текст лицензи
      `path` - - путь к скрипту шифрования
      `launchString` - - строка запуска скрипта
    Returns:
      зашифрованный текст лицензии
    Throws:
      `IOException`

  - ### getCosts

    public static Map<String,BigDecimal> getCosts(String costRequestUrl)
    Получает стоимости компонентов.
    Parameters:
      `costRequestUrl` - - url-запрос скрипта вычисления стоимостей
    Returns:
      пары вида "название компонента - стоимость"

  - ### getCost

    public static float getCost(String costRequestUrl, jakarta.xml.ws.Holder<Integer> holderUnlimitCount)
    Получает стоимость для одного компонента.
    Parameters:
      `costRequestUrl` - - url-запрос скрипта вычисления стоимостей
      `holderUnlimitCount` - - если не null, то вставит в него число после которого начинается безлимит.
    Returns:
      стоимость компонента

  - ### getCostDelta

    public static LicenseOrderBillData getCostDelta(String itemName, Integer confirmedItemsCount, Integer itemCountDelta, String version, Preferences moduleSetup)
    Получает стоимость для добавляемого компонента как разницу стоимости предыдущей лицензии и лицензии после добавления к ней новых договоров
    Parameters:
      `costRequestUrl` - - url-запрос скрипта вычисления стоимостей
    Returns:
      стоимость компонента

  - ### buildLicenseCostUrlRequest

    public static String buildLicenseCostUrlRequest(List<LicenseOrderConfirmed> packageItems, String version, ParameterMap moduleSetup)
    Формирует url-запрос на получение стоимостей компонентов.
    Parameters:
      `packageItems` - - список компонентов
      `version` - - версия продукта
      `moduleSetup` - - конфигурация модуля лицензий
    Returns:
      url-запрос в виде строки

  - ### getShortVersion

    public static String getShortVersion(String version)

  - ### buildLicenseCostUrlRequest

    public static String buildLicenseCostUrlRequest(LicenseOrderConfirmed item, String version, Preferences moduleSetup)
    Формирует url-запрос на получение стоимости одного компонентоа.
    Parameters:
      `item` - - компонент
      `version` - - версия продукта
      `moduleSetup` - - конфигурация модуля лицензий
    Returns:
      url-запрос в виде строки

  - ### buildLicenseCostUrlRequest

    public static String buildLicenseCostUrlRequest(String itemName, Integer itemCount, String version, Preferences moduleSetup)

  - ### formatCost

    public static String formatCost(float cost)
    Преобразует стоимость в строку формата "0,00"
    Parameters:
      `cost` - - стоимость (напр., 3.5f)
    Returns:
      строка (напр., "3,50")

  - ### sendLiceneseText

    public static String sendLiceneseText(String mails, String licenseText, String subject, int moduleId) throws ru.bitel.bgbilling.common.BGException
    Отправляет текст лицензии по заданным адресам.
    Parameters:
      `mails` -
      `licenseText` -
      `subject` -
      `setup` -