Package ru.bitel.bgbilling.modules.cerbercrypt.common.service

# Interface UserCardService

All Superinterfaces:
  `LoggableService`

public interface UserCardService extends LoggableService

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BigDecimal`
  `checkSubscriptionCost(int cid, List<Integer> ucids, Date date)`
  `void`
  `deleteUserCard(int id)`
  `List<UserCard>`
  `getCardListByObject(int objectId)`
  Список карт, привязанных к объекту.
  `List<IdTitle>`
  `getContractObjects(int contractId)`
  `List<UserCard>`
  `getMultiroomBasecards(int cid, int selfCardId)`
  Получение списка базовых карт для этого договора для заполнения комбобокса базовыми картами (мультирум).
  `MapHolder<String,String>`
  `getSystemInfo()`
  `UserCard`
  `getUserCard(int id)`
  `List<UserCard>`
  `getUserCardList(int cid, boolean slavecardsIncluding)`
  Список карт договора.
  `void`
  `releaseSlave(int cid, int slavecardId)`
  Освободить зависимую карту.
  `void`
  `updateUserCard(UserCard uc)`

  ### Methods inherited from interface ru.bitel.common.model.LoggableService

  `logList`

- ## Method Details

  - ### getUserCardList

    List<UserCard> getUserCardList(int cid, boolean slavecardsIncluding) throws Exception
    Список карт договора. Включая или не включая копии карт, т.е. те карты, у которых назначена какая-либо basecard. Для заполнения таблицы карт в договоре, например, надо все карты, а для комбобоксов выбора карт для изменения подписки, назначения копий карт (не те, что мультирум) итд итп нам надо игнорировать все неосновеные карты.
    Parameters:
      `cid` - контрактИд
      `slavecardsIncluding` - включать ли в том числе "неосновные" карты (т.е. "мультирум копии карт" итд)
    Returns:
      список карт
    Throws:
      `BGException`
      `Exception`

  - ### updateUserCard

    void updateUserCard(UserCard uc) throws Exception
    Throws:
      `Exception`

  - ### deleteUserCard

    void deleteUserCard(int id) throws Exception
    Throws:
      `Exception`

  - ### getSystemInfo

    MapHolder<String,String> getSystemInfo() throws Exception
    Throws:
      `Exception`

  - ### checkSubscriptionCost

    BigDecimal checkSubscriptionCost(int cid, List<Integer> ucids, Date date) throws Exception
    Throws:
      `Exception`

  - ### getMultiroomBasecards

    List<UserCard> getMultiroomBasecards(int cid, int selfCardId) throws Exception
    Получение списка базовых карт для этого договора для заполнения комбобокса базовыми картами (мультирум).
    Parameters:
      `cid` - контрактИд
      `selfCardId` - ид самой этой карты (чтобы исключить её из списка, ведь она тоже базовая и выбираем мы только базовые, она сама будет в этом же списке)
    Returns:
      список; пустой если нет на договоре подходящих базовых карт или все они переполнены копиями, в том числе если в конфиге вообще всегда стоит ноль для максимума копий.
    Throws:
      `BGException`
      `Exception`

  - ### releaseSlave

    void releaseSlave(int cid, int slavecardId) throws Exception
    Освободить зависимую карту. Если это зависимая, то отсоединяем её от основной (например, закрываем мы её).
    Parameters:
      `cid` - договор.
      `slavecardId` - зависимая карта карта (usercardId).
    Throws:
      `BGException`
      `Exception`

  - ### getCardListByObject

    List<UserCard> getCardListByObject(int objectId) throws Exception
    Список карт, привязанных к объекту.
    Parameters:
      `objectId` - код объекта
    Returns:
      список карт
    Throws:
      `BGException`
      `Exception`

  - ### getContractObjects

    List<IdTitle> getContractObjects(int contractId) throws Exception
    Throws:
      `Exception`

  - ### getUserCard

    UserCard getUserCard(int id) throws Exception
    Throws:
      `Exception`