Class UserCardManager
java.lang.Object
ru.bitel.common.dao.AbstarctDaoConstant
ru.bitel.common.dao.AbstractDao<B>
ru.bitel.common.dao.AbstractIdDao<B>
ru.bitel.common.model.LoggingAbstractManager<UserCard>
ru.bitel.bgbilling.modules.cerbercrypt.server.bean.UserCardManager
- All Implemented Interfaces:
AutoCloseable
-
Nested Class Summary
Nested classes/interfaces inherited from class ru.bitel.common.dao.AbstractDao
ru.bitel.common.dao.AbstractDao.ResultSetIterator
-
Field Summary
Fields inherited from class ru.bitel.common.model.LoggingAbstractManager
userId
Fields inherited from class ru.bitel.common.dao.AbstractDao
cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, moduleId, orderByPattern, tableName
Fields inherited from class ru.bitel.common.dao.AbstarctDaoConstant
ERROR, fields, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_LIMIT, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
deleteSlavesByBasecardId
(int basecardId) Удалить все карты, зависимые от этой базовой карты.findConflictCards
(UserCard usercard) Находит конфликтующие с этой картой карты.protected UserCard
getList
(int cid) Все карты договора (включая и slavecard/"мультирум копии" и основные).getList
(int cid, boolean slavecardsIncluding) Все карты договора или только без slavecards (т.е. только "основные").Список активных на дату юзеркарт договора.getListByDate
(Calendar date) Deprecated.getListByDate
(Date date) getListByGroups
(long groups) getListByNumber
(long number) Все юзер_карты по номеру карты, вне зависимости от дат.getListByObject
(int objectId) Возвращает список карточек, привязанных к указанному объекту договора.Полный список юзеркарт, в которых установлен (не снят) флаг "требуется синхронизация"int[]
getSlavecards
(int basecardId) Получение всех подчинённых (например, "копий") карт указанной карты.getSlavecards
(UserCard basecard) Получение всех подчинённых (например, "копий") карт указанной карты.getUserCard
(long number, Calendar date) Deprecated.getUserCard
(long number, Date date) Возвращает юзер_карту по номеру карты, берёт ту, которая на текущую дату, т.е. та, которая в эту дату приписана к договору.Весь мэп юзеркарт.getUserCardMap
(int cid) getUserCardMap
(Calendar date, Collection<Integer> userCardIds) Мэп юзеркарт на дату.list_join_card
(String filter, String orderBy, Object... params) Реализация list(...) с дополнительным join таблицы card чтобы вытянуть оттуда в частности pairing_module.makeSlavecardListMap
(List<UserCard> allContractUsercards) Генерирует мэп зависимых карт каждой карты из списка всех карт договора.void
setSyncStatusCards
(Collection<Long> cards, boolean needSyncStatus) Установка нескольким юзеркартам статуса нужности синхронизации.void
setSyncStatusUsercards
(Collection<Integer> usercardsIds, boolean needSyncStatus) Установка нескольким юзеркартам статуса нужности синхронизации.protected void
void
updateSubscribe
(Date date, int userCardId, boolean slavecardsProcess) В случае удаления id в БД недоступен, так что этот метод не работает как надо, полагается заранее вычитывать usercard и отдавать его в синхронайзер, вместе с зависимыми.void
updateSubscribe
(Date date, UserCard usercard, List<UserCard> slavecards) Methods inherited from class ru.bitel.common.model.LoggingAbstractManager
delete, logListByCid, logListByOid, update
Methods inherited from class ru.bitel.common.dao.AbstractIdDao
get, getAndDelete, getAndUpdate, opt
Methods inherited from class ru.bitel.common.dao.AbstractDao
close, delete, deleteImpl, eq, get, getById, getImpl, getListFromRS, getPeriod, getQueryById, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, ormFromResultSet, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, processException, recycle, setStatementParam
Methods inherited from class ru.bitel.common.dao.AbstarctDaoConstant
getLogger, getSQLOrder
-
Constructor Details
-
UserCardManager
-
-
Method Details
-
getListByDate
@Deprecated public List<UserCard> getListByDate(Calendar date) throws ru.bitel.bgbilling.common.BGException Deprecated.- Throws:
ru.bitel.bgbilling.common.BGException
-
getListByDate
- Throws:
ru.bitel.bgbilling.common.BGException
-
getList
Список активных на дату юзеркарт договора.- Throws:
ru.bitel.bgbilling.common.BGException
-
getUserCard
@Deprecated public UserCard getUserCard(long number, Calendar date) throws ru.bitel.bgbilling.common.BGException Deprecated.- Throws:
ru.bitel.bgbilling.common.BGException
-
getUserCard
Возвращает юзер_карту по номеру карты, берёт ту, которая на текущую дату, т.е. та, которая в эту дату приписана к договору. Если таковых несколько (по ошибке программной), то вернётся одна случайная.- Parameters:
number
- номер картыdate
- дата, на которую выбираем карту- Returns:
- юзер_карта
- Throws:
ru.bitel.bgbilling.common.BGException
-
getListByNumber
Все юзер_карты по номеру карты, вне зависимости от дат.- Throws:
ru.bitel.bgbilling.common.BGException
-
getListByGroups
- Throws:
ru.bitel.bgbilling.common.BGException
-
getList
Все карты договора (включая и slavecard/"мультирум копии" и основные).- Parameters:
cid
- контрактИд- Returns:
- список карт
- Throws:
ru.bitel.bgbilling.common.BGException
- ошибка какая-то
-
list_join_card
public List<UserCard> list_join_card(String filter, String orderBy, Object... params) throws ru.bitel.bgbilling.common.BGException Реализация list(...) с дополнительным join таблицы card чтобы вытянуть оттуда в частности pairing_module. FIXME костыльность присутствуетъ. + см. ниже.- Throws:
ru.bitel.bgbilling.common.BGException
-
getList
public List<UserCard> getList(int cid, boolean slavecardsIncluding) throws ru.bitel.bgbilling.common.BGException Все карты договора или только без slavecards (т.е. только "основные").- Parameters:
cid
- контрактИдslavecardsIncluding
- включать ли неосновные карты.- Returns:
- список карт
- Throws:
ru.bitel.bgbilling.common.BGException
- ошибка какая-то
-
getUserCardMap
Весь мэп юзеркарт. Может быть большой, осторожно. Используется в калькуляторе, например.- Returns:
- весь мэп [юзеркардИд=>юзеркарт]
- Throws:
ru.bitel.bgbilling.common.BGException
- ошибка
-
getUserCardMap
public Map<Integer,UserCard> getUserCardMap(Calendar date, Collection<Integer> userCardIds) throws ru.bitel.bgbilling.common.BGException Мэп юзеркарт на дату. Все или по отдельному ид.- Parameters:
date
- датаuserCardIds
- ид карты, список- Returns:
- мэп [юзеркардИд=>юзеркарт]
- Throws:
ru.bitel.bgbilling.common.BGException
- ошибка
-
getMinAndMaxCardNumber
public int[] getMinAndMaxCardNumber() throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updateSubscribe
public void updateSubscribe(Date date, int userCardId, boolean slavecardsProcess) throws ru.bitel.bgbilling.common.BGException В случае удаления id в БД недоступен, так что этот метод не работает как надо, полагается заранее вычитывать usercard и отдавать его в синхронайзер, вместе с зависимыми.- Parameters:
date
-userCardId
-slavecardsProcess
-- Throws:
ru.bitel.bgbilling.common.BGException
-
updateSubscribe
public void updateSubscribe(Date date, UserCard usercard, List<UserCard> slavecards) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
findConflictCards
public List<UserCard> findConflictCards(UserCard usercard) throws ru.bitel.bgbilling.common.BGException Находит конфликтующие с этой картой карты.- Parameters:
usercard
- карта для поиска.- Returns:
- список карт, которые содержат тот же номер и активны в данный момент (на этом или другом договоре).
- Throws:
ru.bitel.bgbilling.common.BGException
-
updateImpl
- Specified by:
updateImpl
in classru.bitel.common.dao.AbstractDao<UserCard>
- Throws:
ru.bitel.bgbilling.common.BGException
SQLException
-
getFromRS
protected UserCard getFromRS(ResultSet rs) throws SQLException, ru.bitel.bgbilling.common.BGException - Specified by:
getFromRS
in classru.bitel.common.dao.AbstractDao<UserCard>
- Throws:
SQLException
ru.bitel.bgbilling.common.BGException
-
getSlavecards
Получение всех подчинённых (например, "копий") карт указанной карты. В качестве basecardTitle устанавливается название/роль каждой подчинённой карты. То есть например в вебе их надо выводить, типа "мультирум-копия N1".- Parameters:
cardId
- ид "базовой" карты- Returns:
- список подчинённых карт
- Throws:
ru.bitel.bgbilling.common.BGException
-
getSlavecards
Получение всех подчинённых (например, "копий") карт указанной карты. Лучше использоватьgetSlavecards(UserCard)
, если уже имеется объект-карта, меньше запросов- Parameters:
basecardId
- ид "базовой" карты- Returns:
- список подчинённых карт
- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteSlavesByBasecardId
public void deleteSlavesByBasecardId(int basecardId) throws ru.bitel.bgbilling.common.BGException Удалить все карты, зависимые от этой базовой карты.- Parameters:
basecardId
- ид базовой user_card- Throws:
ru.bitel.bgbilling.common.BGException
-
makeSlavecardListMap
Генерирует мэп зависимых карт каждой карты из списка всех карт договора.- Parameters:
allContractUsercards
- все карты догогора (подразумевается так).- Returns:
- мэп ид_карты => список ссылающихся на эту карту
-
getListByObject
Возвращает список карточек, привязанных к указанному объекту договора.- Parameters:
objectId
- код объекта договора- Returns:
- список карт
- Throws:
ru.bitel.bgbilling.common.BGException
-
setSyncStatusUsercards
public void setSyncStatusUsercards(Collection<Integer> usercardsIds, boolean needSyncStatus) throws ru.bitel.bgbilling.common.BGException Установка нескольким юзеркартам статуса нужности синхронизации.- Parameters:
usercardsIds
- список айдишников юзеркартneedSyncStatus
- значение флага для установки- Throws:
ru.bitel.bgbilling.common.BGException
-
setSyncStatusCards
public void setSyncStatusCards(Collection<Long> cards, boolean needSyncStatus) throws ru.bitel.bgbilling.common.BGException Установка нескольким юзеркартам статуса нужности синхронизации. Установка идёт не по указанию юзеркарт, а по указанию номеров карт, то есть всем юзеркартам с этим номером и поставится флаг.- Parameters:
cards
- список номеров картneedSyncStatus
- значение флага для установки- Throws:
ru.bitel.bgbilling.common.BGException
-
getListNeedSync
Полный список юзеркарт, в которых установлен (не снят) флаг "требуется синхронизация"- Returns:
- список юзеркарт
- Throws:
ru.bitel.bgbilling.common.BGException
-
getUserCardMap
-
getListByDate(Date)