Package ru.bitel.oss.systems.order.product.common.service

# Interface ProductOrderService

    public interface ProductOrderService

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `int` | `productActivate​(Product product, boolean customer, boolean sync)` | Deprecated.
  `int` | `productActivate​(Product product, java.util.Date time, boolean customer, boolean sync)` | Активация продукта с указанным режимом активации. Если time == null и product.timeFrom == null, то используется текущее время в качестве времени активации.
  `void` | `productDeactivate​(int contractId, int productId, java.util.Date time, boolean customer, boolean sync)` | Deprecated.
  `void` | `productDeactivate​(int contractId, int productId, java.util.Date time, boolean customer, boolean sync, boolean now)` | Деактивация продукта.
  `ProductOffering` | `productOfferingGet​(java.lang.Integer moduleId, int contractId, int accountId, int productSpecId, int activationModeId, java.util.Date time, boolean availableOnly, boolean customer)` |
  `java.util.List<ProductOffering>` | `productOfferingList​(java.lang.Integer moduleId, int contractId, int accountId, int productSpecId, java.util.Date time, boolean availableOnly, boolean customer)` | Список продуктов для возможной активации и их цены.
  `void` | `productReactivate​(int contractId, int productId, boolean sync)` | Реактивация продукта возможна в том случае, если продукт был деактивирован, но при этом product.timeTo еще меньше текущего времени.
  `java.util.List<ProductOffering>` | `productTariffOfferingList​(java.lang.Integer moduleId, int tariffId, java.util.Date time, boolean availableOnly)` | Список продуктов для возможной активации (и их цены) для указанного тарифа.

- ## Method Details

  - ### productOfferingList

    java.util.List<ProductOffering> productOfferingList​(java.lang.Integer moduleId, int contractId, int accountId, int productSpecId, java.util.Date time, boolean availableOnly, boolean customer) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalAccessException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Список продуктов для возможной активации и их цены.
    Parameters:
      `moduleId` -
      `contractId` -
      `accountId` -
      `productSpecId` -
      `time` -
      `availableOnly` -
      `customer` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalAccessException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### productTariffOfferingList

    java.util.List<ProductOffering> productTariffOfferingList​(java.lang.Integer moduleId, int tariffId, java.util.Date time, boolean availableOnly) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalAccessException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Список продуктов для возможной активации (и их цены) для указанного тарифа. Вместо данного метода желательно использовать `productOfferingList(Integer, int, int, int, Date, boolean, boolean)`.
    Parameters:
      `moduleId` -
      `tariffId` -
      `time` -
      `availableOnly` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalAccessException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### productActivate

    @RequestWrapper(className="ru.bitel.oss.systems.order.product.common.jaxws.ProductActivateOldRequest") @ResponseWrapper(className="ru.bitel.oss.systems.order.product.common.jaxws.ProductActivateOldResponse") @Deprecated int productActivate​(Product product, boolean customer, boolean sync) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalAccessException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Deprecated.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalAccessException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### productActivate

    int productActivate​(Product product, java.util.Date time, boolean customer, boolean sync) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalAccessException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Активация продукта с указанным режимом активации.
    Если time == null и product.timeFrom == null, то используется текущее время в качестве времени активации. Если time !=null, то используется time. В обоих случаях применяются правила режима активации, т.е. timeFrom может отличаться от time или текущего времени.
    Если time == null и product.timeFrom != null, то в качестве времени активации используется product.timeFrom, правила режима активации не применяются (время не сдвигается).
    Parameters:
      `product` -
      `time` -
      `customer` -
      `sync` - нужна ли синхронизация (не нужна, если MW активировало уже и вызвало этот метод)
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalAccessException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### productDeactivate

    @RequestWrapper(className="ru.bitel.oss.systems.order.product.common.jaxws.ProductDeactivateOldRequest") @ResponseWrapper(className="ru.bitel.oss.systems.order.product.common.jaxws.ProductDeactivateOldResponse") @Deprecated void productDeactivate​(int contractId, int productId, java.util.Date time, boolean customer, boolean sync) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalAccessException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Deprecated.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalAccessException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### productDeactivate

    void productDeactivate​(int contractId, int productId, java.util.Date time, boolean customer, boolean sync, boolean now) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalAccessException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Деактивация продукта.
    Parameters:
      `contractId` -
      `productId` -
      `time` -
      `customer` - метод вызывает абонент или нет
      `sync` - нужно ли вызывать синхронизацию - не нужно, если MW синхронизирует само, т.е. вызов инициирован со стороны MW.
      `now` - нужно ли установить временем окончания time, т.е. не учитываем правила деактивации до конца оплаченного периода
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalAccessException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### productReactivate

    void productReactivate​(int contractId, int productId, boolean sync) throws ru.bitel.bgbilling.common.BGException
    Реактивация продукта возможна в том случае, если продукт был деактивирован, но при этом product.timeTo еще меньше текущего времени.
    Parameters:
      `contractId` -
      `productId` -
      `sync` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### productOfferingGet

    ProductOffering productOfferingGet​(java.lang.Integer moduleId, int contractId, int accountId, int productSpecId, int activationModeId, java.util.Date time, boolean availableOnly, boolean customer) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalAccessException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalAccessException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`