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:
java.lang.AutoCloseable
public class UserCardManager extends LoggingAbstractManager<UserCard>
-
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
Constructors Constructor Description UserCardManager(java.sql.Connection con, int mid, int userId)
-
Method Summary
Modifier and Type Method Description void
deleteSlavesByBasecardId(int basecardId)
Удалить все карты, зависимые от этой базовой карты.java.util.List<UserCard>
findConflictCards(UserCard usercard)
Находит конфликтующую с этой картой (первую попавшуюся) карту.protected UserCard
getFromRS(java.sql.ResultSet rs)
java.util.List<UserCard>
getList(int cid)
Все карты договора (включая и slavecard/"мультирум копии" и основные).java.util.List<UserCard>
getList(int cid, boolean slavecardsIncluding)
Все карты договора или только без slavecards (т.е. только "основные").java.util.List<UserCard>
getList(int cid, java.util.Date date)
Список активных на дату юзеркарт договора.java.util.List<UserCard>
getListByDate(java.util.Calendar date)
Deprecated.java.util.List<UserCard>
getListByDate(java.util.Date date)
java.util.List<UserCard>
getListByGroups(long groups)
java.util.List<UserCard>
getListByNumber(long number)
Все юзер_карты по номеру карты, вне зависимости от дат.java.util.List<UserCard>
getListByObject(int objectId)
Возвращает список карточек, привязанных к указанному объекту договора.java.util.List<UserCard>
getListNeedSync()
Полный список юзеркарт, в которых установлен (не снят) флаг "требуется синхронизация"int[]
getMinAndMaxCardNumber()
java.util.List<UserCard>
getSlavecards(int basecardId)
Получение всех подчинённых (например, "копий") карт указанной карты.java.util.List<UserCard>
getSlavecards(UserCard basecard)
Получение всех подчинённых (например, "копий") карт указанной карты.UserCard
getUserCard(long number, java.util.Calendar date)
Deprecated.UserCard
getUserCard(long number, java.util.Date date)
Возвращает юзер_карту по номеру карты, берёт ту, которая на текущую дату, т.е. та, которая в эту дату приписана к договору.java.util.Map<java.lang.Integer,UserCard>
getUserCardMap()
Весь мэп юзеркарт.java.util.Map<java.lang.Integer,UserCard>
getUserCardMap(int cid)
java.util.Map<java.lang.Integer,UserCard>
getUserCardMap(java.util.Calendar date, java.util.Collection<java.lang.Integer> userCardIds)
Мэп юзеркарт на дату.java.util.List<UserCard>
list_join_card(java.lang.String filter, java.lang.String orderBy, java.lang.Object... params)
Реализация list(...) с дополнительным join таблицы card чтобы вытянуть оттуда в частности pairing_module.static java.util.Map<java.lang.Integer,java.util.List<UserCard>>
makeSlavecardListMap(java.util.List<UserCard> allContractUsercards)
Генерирует мэп зависимых карт каждой карты из списка всех карт договора.void
setSyncStatusCards(java.util.Collection<java.lang.Long> cards, boolean needSyncStatus)
Установка нескольким юзеркартам статуса нужности синхронизации.void
setSyncStatusUsercards(java.util.Collection<java.lang.Integer> usercardsIds, boolean needSyncStatus)
Установка нескольким юзеркартам статуса нужности синхронизации.protected void
updateImpl(UserCard b)
void
updateSubscribe(java.util.Date date, int userCardId, boolean slavecardsProcess)
В случае удаления id в БД недоступен, так что этот метод не работает как надо, полагается заранее вычитывать usercard и отдавать его в синхронайзер, вместе с зависимыми.void
updateSubscribe(java.util.Date date, UserCard usercard, java.util.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
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
getSQLOrder
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
UserCardManager
public UserCardManager(java.sql.Connection con, int mid, int userId)
-
-
Method Details
-
getListByDate
@Deprecated public java.util.List<UserCard> getListByDate(java.util.Calendar date) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.- Throws:
ru.bitel.bgbilling.common.BGException
-
getListByDate
public java.util.List<UserCard> getListByDate(java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getList
public java.util.List<UserCard> getList(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGExceptionСписок активных на дату юзеркарт договора.- Throws:
ru.bitel.bgbilling.common.BGException
-
getUserCard
@Deprecated public UserCard getUserCard(long number, java.util.Calendar date) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.- Throws:
ru.bitel.bgbilling.common.BGException
-
getUserCard
public UserCard getUserCard(long number, java.util.Date date) throws ru.bitel.bgbilling.common.BGExceptionВозвращает юзер_карту по номеру карты, берёт ту, которая на текущую дату, т.е. та, которая в эту дату приписана к договору. Если таковых несколько (по ошибке программной), то вернётся одна случайная.- Parameters:
number
- номер картыdate
- дата, на которую выбираем карту- Returns:
- юзер_карта
- Throws:
ru.bitel.bgbilling.common.BGException
-
getListByNumber
public java.util.List<UserCard> getListByNumber(long number) throws ru.bitel.bgbilling.common.BGExceptionВсе юзер_карты по номеру карты, вне зависимости от дат.- Throws:
ru.bitel.bgbilling.common.BGException
-
getListByGroups
public java.util.List<UserCard> getListByGroups(long groups) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getList
Все карты договора (включая и slavecard/"мультирум копии" и основные).- Parameters:
cid
- контрактИд- Returns:
- список карт
- Throws:
ru.bitel.bgbilling.common.BGException
- ошибка какая-то
-
list_join_card
public java.util.List<UserCard> list_join_card(java.lang.String filter, java.lang.String orderBy, java.lang.Object... params) throws ru.bitel.bgbilling.common.BGExceptionРеализация list(...) с дополнительным join таблицы card чтобы вытянуть оттуда в частности pairing_module. FIXME костыльность присутствуетъ. + см. ниже.- Throws:
ru.bitel.bgbilling.common.BGException
-
getList
public java.util.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
public java.util.Map<java.lang.Integer,UserCard> getUserCardMap() throws ru.bitel.bgbilling.common.BGExceptionВесь мэп юзеркарт. Может быть большой, осторожно. Используется в калькуляторе, например.- Returns:
- весь мэп [юзеркардИд=>юзеркарт]
- Throws:
ru.bitel.bgbilling.common.BGException
- ошибка
-
getUserCardMap
public java.util.Map<java.lang.Integer,UserCard> getUserCardMap(java.util.Calendar date, java.util.Collection<java.lang.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(java.util.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(java.util.Date date, UserCard usercard, java.util.List<UserCard> slavecards) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
findConflictCards
public java.util.List<UserCard> findConflictCards(UserCard usercard) throws ru.bitel.bgbilling.common.BGExceptionНаходит конфликтующую с этой картой (первую попавшуюся) карту.- Parameters:
usercard
- карта для поиска.- Returns:
- карта, которая содержит тот же номер и активнав данный момент (на этом или другом договоре).
- Throws:
ru.bitel.bgbilling.common.BGException
-
updateImpl
protected void updateImpl(UserCard b) throws ru.bitel.bgbilling.common.BGException, java.sql.SQLException- Specified by:
updateImpl
in classru.bitel.common.dao.AbstractDao<UserCard>
- Throws:
ru.bitel.bgbilling.common.BGException
java.sql.SQLException
-
getFromRS
protected UserCard getFromRS(java.sql.ResultSet rs) throws java.sql.SQLException, ru.bitel.bgbilling.common.BGException- Specified by:
getFromRS
in classru.bitel.common.dao.AbstractDao<UserCard>
- Throws:
java.sql.SQLException
ru.bitel.bgbilling.common.BGException
-
getSlavecards
public java.util.List<UserCard> getSlavecards(UserCard basecard) throws ru.bitel.bgbilling.common.BGExceptionПолучение всех подчинённых (например, "копий") карт указанной карты. В качестве basecardTitle устанавливается название/роль каждой подчинённой карты. То есть например в вебе их надо выводить, типа "мультирум-копия N1".- Parameters:
cardId
- ид "базовой" карты- Returns:
- список подчинённых карт
- Throws:
ru.bitel.bgbilling.common.BGException
-
getSlavecards
public java.util.List<UserCard> getSlavecards(int basecardId) throws ru.bitel.bgbilling.common.BGExceptionПолучение всех подчинённых (например, "копий") карт указанной карты. Лучше использовать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
public static java.util.Map<java.lang.Integer,java.util.List<UserCard>> makeSlavecardListMap(java.util.List<UserCard> allContractUsercards)Генерирует мэп зависимых карт каждой карты из списка всех карт договора.- Parameters:
allContractUsercards
- все карты догогора (подразумевается так).- Returns:
- мэп ид_карты => список ссылающихся на эту карту
-
getListByObject
public java.util.List<UserCard> getListByObject(int objectId) throws ru.bitel.bgbilling.common.BGExceptionВозвращает список карточек, привязанных к указанному объекту договора.- Parameters:
objectId
- код объекта договора- Returns:
- список карт
- Throws:
ru.bitel.bgbilling.common.BGException
-
setSyncStatusUsercards
public void setSyncStatusUsercards(java.util.Collection<java.lang.Integer> usercardsIds, boolean needSyncStatus) throws ru.bitel.bgbilling.common.BGExceptionУстановка нескольким юзеркартам статуса нужности синхронизации.- Parameters:
usercardsIds
- список айдишников юзеркартneedSyncStatus
- значение флага для установки- Throws:
ru.bitel.bgbilling.common.BGException
-
setSyncStatusCards
public void setSyncStatusCards(java.util.Collection<java.lang.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)