Class CardPacketManager
java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.common.dao.AbstarctDaoConstant
ru.bitel.bgbilling.modules.cerbercrypt.server.bean.CardPacketManager
public class CardPacketManager
extends ru.bitel.common.dao.AbstarctDaoConstant
Менеджер картпакетов.
-
Field Summary
Fields inherited from class ru.bitel.common.dao.AbstarctDaoConstant
ERROR, fields, SQL_ALL, SQL_AND, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_JOIN, SQL_LEFT_JOIN, SQL_LIMIT, SQL_NOT_IN, SQL_ON, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE -
Constructor Summary
ConstructorsConstructorDescriptionCardPacketManager(Connection con, int mid) CardPacketManager(Connection con, int mid, int userId) -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckCardPackets(UserCard card) Проверка выпадения картапакетов (уже существующих в БД) из интервала активности карты.checkConflictSamePackets(Integer userCardId, Integer packetId, Date dateFrom, Date dateTo, Integer selfCardPacketId) проверяет картпакет на конфликты с таким же пакетом существующим на какую-то из дат периода возвращает найденные конфликтующие картпакеты, или пустой список, null быть не может точно такой же исключается, если указан selfCardPacketId, т.е. чтобы сам с собой не обнаружил пересечение (например есть в БД а мы редактируем его же)voidcloseCardPackets(ParameterMap moduleSetup, CardPacketManager cpm, Map<Integer, Packet> packetMap, int cid, int cardId, List<CardPacket> close, Date closeDate, Calendar now, boolean check) voiddeleteCardPacket(int cardPacketId) Удаление кардпакета по его id.voiddeleteCardPackets(int usercardId) Удаление всех кардпакетов юзеркарты по id юзеркарты.getActiveCardPacketList(Calendar date, Integer userCardId) Список активных картапакетовgetActiveCardPacketList(Calendar date, Collection<Integer> userCardIds) Список активных (по дате и статусу) картпакетов для нескольких карт.Получение картапакетов, существующих в определенный период времени для определенных договоров, сортировка по коду карты.getCardPacket(int usercardId, int packetId, Date date) Получение указанного пакета на указанной карте на нужную дату (дата - точка внутри открытого).getCardPacketById(int cardPacketId) Кардпакет по его id.getCardPacketList(int userCardId) Список всех картпакетов что привязаны к указанной юзеркарте.getCardPacketList(int contractId, int usercardId, int objectId, Date date, boolean virtualCinema) getCardPacketList(int contractId, int usercardId, Date date, boolean virtualCinema) getCardPacketList(int cid, Date date) Список картпакетов договораgetCardPacketList(Calendar date) Получение картапакетов существующих в определенную дату.getCardPacketListByPacketId(int packetId) Возвращает все картпакеты, использующие указанный пакет.getContractActiveCardPacketList(Calendar date, int cid) Deprecated.getStatusedCardPacketList( date, cid, CardPacket.STATUS_ACTIVE )getFutureCardPacketList(int cid, int usercardId, Date date) Получение всех будущих (дата начала больше указанной) кардпакетов юзеркарты по id юзеркарты и cid.getStatusedCardPacketList(Calendar date, int cid, int cardPacketStatus) Список определённого статуса картпакетов договора на конкретную датуbooleanhaveCardPackets(int userCardId) Возвращает привязаны ли к карте пакеты.protected static booleanisEqualSubscribe(List<CardPacket> list1, List<CardPacket> list2) voidopenCardPackets(ParameterMap moduleSetup, CardPacketManager cpm, Map<Integer, Packet> packetMap, int cid, int usercardId, List<CardPacket> add, Calendar now, boolean check) voidremoveCardPackets(ParameterMap moduleSetup, CardPacketManager cpm, Map<Integer, Packet> packetMap, int cid, int cardId, List<CardPacket> remove, Calendar now, boolean check) voidreplaceCardPackets(int cid, Date dateFrom, Set<Integer> newPacketIds, String commentOpen, String commentClose) Замена текущей подписки на новую.voidreplaceCardPacketsUserCard(UserCard uc, Date dateFrom, Set<Integer> newPacketIds, String commentOpen, String commentClose) Замена текущей подписки на новую.voidsynchronizeCardPacketFromTo(int uidSrc, int uidDest, Set<Integer> ignorePackets, Date newDateFrom) Клонирование всей подписки с одной карты на другую.voidКостыль.voidupdateCardPacket(CardPacket cardPacket) Обновление/добавление кардпакета.voidupdateCardPackets(ParameterMap moduleSetup, CardPacketManager cpm, Map<Integer, Packet> packetMap, int cid, int cardId, List<CardPacket> update, Calendar now, boolean check) Methods inherited from class ru.bitel.common.dao.AbstarctDaoConstant
getSQLOrderMethods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
error, error, error, getLogger, logError, logError, warn
-
Constructor Details
-
CardPacketManager
-
CardPacketManager
-
-
Method Details
-
updateCardPacket
Обновление/добавление кардпакета.- Throws:
ru.bitel.bgbilling.common.BGException
-
getCardPacketById
Кардпакет по его id.- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteCardPacket
public void deleteCardPacket(int cardPacketId) throws ru.bitel.bgbilling.common.BGException Удаление кардпакета по его id.- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteCardPackets
public void deleteCardPackets(int usercardId) throws ru.bitel.bgbilling.common.BGException Удаление всех кардпакетов юзеркарты по id юзеркарты.- Throws:
ru.bitel.bgbilling.common.BGException
-
getCardPacketList
public List<CardPacket> getCardPacketList(int contractId, int usercardId, Date date, boolean virtualCinema) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getCardPacketList
public List<CardPacket> getCardPacketList(int contractId, int usercardId, int objectId, Date date, boolean virtualCinema) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getFutureCardPacketList
public List<CardPacket> getFutureCardPacketList(int cid, int usercardId, Date date) throws ru.bitel.bgbilling.common.BGException Получение всех будущих (дата начала больше указанной) кардпакетов юзеркарты по id юзеркарты и cid.- Throws:
ru.bitel.bgbilling.common.BGException
-
haveCardPackets
public boolean haveCardPackets(int userCardId) throws ru.bitel.bgbilling.common.BGException Возвращает привязаны ли к карте пакеты.- Parameters:
userCardId- ид юзеркарты.- Returns:
- true - привязаны.
- Throws:
ru.bitel.bgbilling.common.BGException
-
checkCardPackets
Проверка выпадения картапакетов (уже существующих в БД) из интервала активности карты.- Parameters:
card- юзеркарта- Returns:
- - true если все выпадает хоть один
- Throws:
ru.bitel.bgbilling.common.BGException
-
getCalculateCardPacketList
public List<CardPacket> getCalculateCardPacketList(Date fromDate, Date toDate, String cids, String ucids, String pids) throws ru.bitel.bgbilling.common.BGException Получение картапакетов, существующих в определенный период времени для определенных договоров, сортировка по коду карты. Если cids null/пустой, то не учитывается, по всем договорам. Внимание: не учитываются статусы, зависимости, привязки подчинённых к "основным" итд, только период действия учитываются и список договоров. ВНУТРИ: сортировка по коду карты ОБЯЗАТЕЛЬНА!, на это завязан алгоритм обсчета.- Parameters:
fromDate- начало периода, если null то не проверяется (бесконечно)toDate- окончание периода, если null то не проверяется (бесконечно)cids- список кодов договоров через запятую, если нет - то игнорируются.ucids- список юзеркарт через запятую, доп.фильтр, если нет - то игнорируются (все карты договора берутся).pids- список кодов пакетов через запятую, если нет - игнорируются (все пакеты), добавлено для проверки на пересечение с конфликтными- Returns:
- Лист картапакетов, не null.
- Throws:
SQLExceptionru.bitel.bgbilling.common.BGException
-
getCardPacketList
public List<CardPacket> getCardPacketList(Calendar date) throws ru.bitel.bgbilling.common.BGException Получение картапакетов существующих в определенную дату.- Parameters:
date- дата- Returns:
- Лист картапакетов.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getActiveCardPacketList
public List<CardPacket> getActiveCardPacketList(Calendar date, Integer userCardId) throws ru.bitel.bgbilling.common.BGException Список активных картапакетов- Parameters:
userCardId- ид юзер_карты, если null - фильтр не используетсяdate- дата- Returns:
- список
- Throws:
ru.bitel.bgbilling.common.BGException
-
getActiveCardPacketList
public List<CardPacket> getActiveCardPacketList(Calendar date, Collection<Integer> userCardIds) throws ru.bitel.bgbilling.common.BGException Список активных (по дате и статусу) картпакетов для нескольких карт.- Parameters:
userCardIds- ид юзер_карт, если null - фильтр не используетсяdate- дата- Returns:
- список
- Throws:
ru.bitel.bgbilling.common.BGException
-
getStatusedCardPacketList
public List<CardPacket> getStatusedCardPacketList(Calendar date, int cid, int cardPacketStatus) throws ru.bitel.bgbilling.common.BGException Список определённого статуса картпакетов договора на конкретную дату- Parameters:
date- датаcid- код договораcardPacketStatus- статус картпакета(!)- Returns:
- список картпакетов.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractActiveCardPacketList
@Deprecated public List<CardPacket> getContractActiveCardPacketList(Calendar date, int cid) throws ru.bitel.bgbilling.common.BGException Deprecated.getStatusedCardPacketList( date, cid, CardPacket.STATUS_ACTIVE )- Throws:
ru.bitel.bgbilling.common.BGException
-
getCardPacket
public CardPacket getCardPacket(int usercardId, int packetId, Date date) throws ru.bitel.bgbilling.common.BGException Получение указанного пакета на указанной карте на нужную дату (дата - точка внутри открытого). Подразумевается, что не больше одного (иначе берётся первый попавшийся). Для пакетов обычных дата округляется до дня, для virtual_cinema не округляется.- Throws:
ru.bitel.bgbilling.common.BGException
-
getCardPacketList
public List<CardPacket> getCardPacketList(int cid, Date date) throws ru.bitel.bgbilling.common.BGException Список картпакетов договора- Parameters:
cid- договорdate- дата на которую должен быть периодом, или null если не учитывать- Returns:
- список картпакетов
- Throws:
ru.bitel.bgbilling.common.BGException
-
getCardPacketList
public List<CardPacket> getCardPacketList(int userCardId) throws ru.bitel.bgbilling.common.BGException Список всех картпакетов что привязаны к указанной юзеркарте.- Parameters:
userCardId- id юзеркарты, должно быть задано.- Returns:
- список всех картпакетов.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getCardPacketListByPacketId
public List<CardPacket> getCardPacketListByPacketId(int packetId) throws ru.bitel.bgbilling.common.BGException Возвращает все картпакеты, использующие указанный пакет.- Parameters:
packetId- пакетИд- Returns:
- список картпакетов
- Throws:
ru.bitel.bgbilling.common.BGException
-
openCardPackets
public void openCardPackets(ParameterMap moduleSetup, CardPacketManager cpm, Map<Integer, Packet> packetMap, int cid, int usercardId, List<CardPacket> add, Calendar now, boolean check) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
removeCardPackets
public void removeCardPackets(ParameterMap moduleSetup, CardPacketManager cpm, Map<Integer, Packet> packetMap, int cid, int cardId, List<CardPacket> remove, Calendar now, boolean check) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
closeCardPackets
public void closeCardPackets(ParameterMap moduleSetup, CardPacketManager cpm, Map<Integer, Packet> packetMap, int cid, int cardId, List<CardPacket> close, Date closeDate, Calendar now, boolean check) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updateCardPackets
public void updateCardPackets(ParameterMap moduleSetup, CardPacketManager cpm, Map<Integer, Packet> packetMap, int cid, int cardId, List<CardPacket> update, Calendar now, boolean check) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
synchronizeCardPacketFromTo
public void synchronizeCardPacketFromTo(int uidSrc, int uidDest, Set<Integer> ignorePackets, Date newDateFrom) throws ru.bitel.bgbilling.common.BGException Клонирование всей подписки с одной карты на другую. Используется в мультируме, например. Делаться старается умно и подразумевается что многократный вызов делать лишнего не будет. Делаем все, не только активные.- Parameters:
uidSrc- ид юзер_карты откуда копироватьuidDest- ид юзер_карты куда копироватьignorePackets- ид пакетов которые игнорировать при переносеnewDateFrom- дата, которую ставить как dateFrom для создаваемых пакетов, если null то оставлять как на оригинальной карте- Throws:
ru.bitel.bgbilling.common.BGException
-
isEqualSubscribe
-
truncatePacketsToCard
Костыль. Предназначние: "обрезка пакетов карты под её период". Выполняется изначально при закрытии "update" зависимой карты, ибо иначе ругается, что пакеты выходят за пределы. На будущее подумать: 1) вынести такой вопрос при закрытии и на обычные карты, т.е. при закрытии если с периодами беда спросить "подрезать пакеты" 2) отказаться от этого и просто не проверять пакеты для зависимых карт при закрытии.- Throws:
ru.bitel.bgbilling.common.BGException
-
replaceCardPackets
public void replaceCardPackets(int cid, Date dateFrom, Set<Integer> newPacketIds, String commentOpen, String commentClose) throws ru.bitel.bgbilling.common.BGException Замена текущей подписки на новую. Закрытие текущей (если есть), удаление будущей (если есть), и открытие указанной. Для автодействий.- Parameters:
cid- На всех картах договора.dateFrom- От указанной даты. [!] Предполагается, что дата должна быть как минимум "сегодня".newPacketIds- новые пакеты для открытия.commentOpen- комментарий новой подписки - каждого пакета.commentClose- комментарий закрытой подписки - каждого пакета.- Throws:
ru.bitel.bgbilling.common.BGException
-
replaceCardPacketsUserCard
public void replaceCardPacketsUserCard(UserCard uc, Date dateFrom, Set<Integer> newPacketIds, String commentOpen, String commentClose) throws ru.bitel.bgbilling.common.BGException Замена текущей подписки на новую. Закрытие текущей (если есть), удаление будущей (если есть), и открытие указанной. Для автодействий. Для отдельной юзеркарты.- Throws:
ru.bitel.bgbilling.common.BGException
-
checkConflictSamePackets
public List<CardPacket> checkConflictSamePackets(Integer userCardId, Integer packetId, Date dateFrom, Date dateTo, Integer selfCardPacketId) throws ru.bitel.bgbilling.common.BGException проверяет картпакет на конфликты с таким же пакетом существующим на какую-то из дат периода возвращает найденные конфликтующие картпакеты, или пустой список, null быть не может точно такой же исключается, если указан selfCardPacketId, т.е. чтобы сам с собой не обнаружил пересечение (например есть в БД а мы редактируем его же)- Throws:
ru.bitel.bgbilling.common.BGException
-