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.BGException
      Deprecated.
      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.BGException
      Deprecated.
      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

      public java.util.List<UserCard> getList​(int cid) throws ru.bitel.bgbilling.common.BGException
      Все карты договора (включая и 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 class ru.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 class ru.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

      public java.util.List<UserCard> getListNeedSync() throws ru.bitel.bgbilling.common.BGException
      Полный список юзеркарт, в которых установлен (не снят) флаг "требуется синхронизация"
      Returns:
      список юзеркарт
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getUserCardMap

      public java.util.Map<java.lang.Integer,​UserCard> getUserCardMap​(int cid)