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

# Interface CardPacketService

public interface CardPacketService
Карт-пакеты в админке.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<CardPacket>`
  `cardPacketFutureList(int contractId, int userCardId, Date now)`
  Получение будущих карт-пакетов для указанной карты договора.
  `List<StatusEvent>`
  `cardPacketStatusTable(int cardPacketId)`
  Договор -> модули -> церберкрипт -> Пакеты Задания на смену статусов конкретного картпакета.
  `List<CardPacket>`
  `cardPacketTable(int objectId, int usercardId, Date date, boolean isVirtualCinema, int contractId)`
  Список картпакетов на договоре.
  `void`
  `changeStatus(int cardPacketId, int status, Date date)`
  Договор -> модули -> церберкрипт -> Пакеты Задания на смену статусов.
  `void`
  `closeCardPackets(String cards, String packets, Date date, int cid, boolean check)`
  `void`
  `deleteCardPacket(int cid, int cardPacketId, boolean check)`
  Договор -> модули -> церберкрипт -> Пакеты Удаление пакета с карты (картпакета)
  `CardPacket`
  `getCardPacket(int cardPacketId)`
  Получение картпакета по id.
  `void`
  `openCardPackets(String cards, String packets, Date date, int cid, boolean check)`
  `void`
  `syncCardPackets(UserCard ucFrom, UserCard ucTo, Date date, boolean includeUncopyable)`
  Копирование подписки с одной карты на другую.
  `void`
  `updateCardPacket(CardPacket cardPacket, boolean check, int date1Hour)`
  "UpdateCardPacket" Договор -> модули -> церберкрипт -> Пакеты Договор -> модули -> церберкрипт -> Витруальны кинозалъ

- ## Method Details

  - ### cardPacketTable

    List<CardPacket> cardPacketTable(int objectId, int usercardId, Date date, boolean isVirtualCinema, int contractId) throws Exception
    Список картпакетов на договоре. Старый экшен ActionCardPacketTable("objectId"(дефолт -1),"card"(дефолт -1),"date","virtual_cinema"(дефолт false)).
    Parameters:
      `date` - "отобразить на дату"
    Returns:
      список

  - ### cardPacketStatusTable

    List<StatusEvent> cardPacketStatusTable(int cardPacketId) throws Exception
    Договор -> модули -> церберкрипт -> Пакеты Задания на смену статусов конкретного картпакета.
    Parameters:
      `cardPacketId` - ид картпакета
    Throws:
      `Exception`

  - ### deleteCardPacket

    void deleteCardPacket(int cid, int cardPacketId, boolean check) throws Exception
    Договор -> модули -> церберкрипт -> Пакеты Удаление пакета с карты (картпакета)
    Parameters:
      `cid` -
      `cardPacketId` -
      `check` - проверять или нет дополнительные проверки. если да, и какой-то косяк, то будет экзепшен. иначе удалится молча.

  - ### getCardPacket

    CardPacket getCardPacket(int cardPacketId) throws Exception
    Получение картпакета по id.
    Throws:
      `Exception`

  - ### changeStatus

    void changeStatus(int cardPacketId, int status, Date date) throws Exception
    Договор -> модули -> церберкрипт -> Пакеты Задания на смену статусов. "Установить".
    Parameters:
      `cardPacketId` - ид картпакета
      `status` - статус пакета в церберкрипте
      `date` - дата статуса

  - ### updateCardPacket

    void updateCardPacket(CardPacket cardPacket, boolean check, int date1Hour) throws Exception
    "UpdateCardPacket" Договор -> модули -> церберкрипт -> Пакеты Договор -> модули -> церберкрипт -> Витруальны кинозалъ
    Parameters:
      `cardPacket` -
      `check` -
      `date1Hour` - для вирт кинозала тока

  - ### openCardPackets

    void openCardPackets(String cards, String packets, Date date, int cid, boolean check) throws Exception
    Throws:
      `Exception`

  - ### closeCardPackets

    void closeCardPackets(String cards, String packets, Date date, int cid, boolean check) throws Exception
    Throws:
      `Exception`

  - ### syncCardPackets

    void syncCardPackets(UserCard ucFrom, UserCard ucTo, Date date, boolean includeUncopyable) throws Exception
    Копирование подписки с одной карты на другую. Подписка на карте назначения будет очищена и заменена на подписку другой карты! Аналог однократного "ручного мультирума".
    Parameters:
      `ucFrom` - откуда
      `ucTo` - куда
      `date` - дата с которой начнутся пакеты, если null - то даты возьмутся с оригинальной карты
      `includeUncopyable` - включая карты, которые помечены в тарифе как "некопируемые на мультирум" (т.е. true - не проверять тариф на эту возможность)

  - ### cardPacketFutureList

    List<CardPacket> cardPacketFutureList(int contractId, int userCardId, Date now) throws Exception
    Получение будущих карт-пакетов для указанной карты договора.
    Parameters:
      `contractId` - ID договора
      `userCardId` - ID карты договора
      `now` - текущее время
    Returns: