java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
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

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_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

    Constructors
    Constructor
    Description
    UserCardManager(Connection con, int mid, int userId)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    deleteSlavesByBasecardId(int basecardId)
    Удалить все карты, зависимые от этой базовой карты.
    Находит конфликтующие с этой картой карты.
    protected UserCard
     
    getList(int cid)
    Все карты договора (включая и slavecard/"мультирум копии" и основные).
    getList(int cid, boolean slavecardsIncluding)
    Все карты договора или только без slavecards (т.е. только "основные").
    getList(int cid, Date date)
    Список активных на дату юзеркарт договора.
    Deprecated.
     
    getListByGroups(long groups)
     
    getListByNumber(long number)
    Все юзер_карты по номеру карты, вне зависимости от дат.
    getListByObject(int objectId)
    Возвращает список карточек, привязанных к указанному объекту договора.
    Полный список юзеркарт, в которых установлен (не снят) флаг "требуется синхронизация"
    int[]
     
    getSlavecards(int basecardId)
    Получение всех подчинённых (например, "копий") карт указанной карты.
    Получение всех подчинённых (например, "копий") карт указанной карты.
    getUserCard(long number, Calendar date)
    Deprecated.
    getUserCard(long number, Date date)
    Возвращает юзер_карту по номеру карты, берёт ту, которая на текущую дату, т.е. та, которая в эту дату приписана к договору.
    Весь мэп юзеркарт.
    getUserCardMap(int cid)
     
    Мэп юзеркарт на дату.
    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
    updateImpl(UserCard userCard)
     
    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, setStatementParam

    Methods inherited from class ru.bitel.common.dao.AbstarctDaoConstant

    getSQLOrder

    Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger

    getLogger, logError

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • UserCardManager

      public UserCardManager(Connection con, int mid, int userId)
  • Method Details

    • getListByDate

      @Deprecated public List<UserCard> getListByDate(Calendar date) throws ru.bitel.bgbilling.common.BGException
      Deprecated.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getListByDate

      public List<UserCard> getListByDate(Date date) throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getList

      public List<UserCard> getList(int cid, Date date) throws ru.bitel.bgbilling.common.BGException
      Список активных на дату юзеркарт договора.
      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

      public UserCard getUserCard(long number, Date date) throws ru.bitel.bgbilling.common.BGException
      Возвращает юзер_карту по номеру карты, берёт ту, которая на текущую дату, т.е. та, которая в эту дату приписана к договору. Если таковых несколько (по ошибке программной), то вернётся одна случайная.
      Parameters:
      number - номер карты
      date - дата, на которую выбираем карту
      Returns:
      юзер_карта
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getListByNumber

      public List<UserCard> getListByNumber(long number) throws ru.bitel.bgbilling.common.BGException
      Все юзер_карты по номеру карты, вне зависимости от дат.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getListByGroups

      public List<UserCard> getListByGroups(long groups) throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getList

      public 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 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

      public Map<Integer,UserCard> getUserCardMap() throws ru.bitel.bgbilling.common.BGException
      Весь мэп юзеркарт. Может быть большой, осторожно. Используется в калькуляторе, например.
      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

      protected void updateImpl(UserCard userCard) throws ru.bitel.bgbilling.common.BGException, SQLException
      Specified by:
      updateImpl in class ru.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 class ru.bitel.common.dao.AbstractDao<UserCard>
      Throws:
      SQLException
      ru.bitel.bgbilling.common.BGException
    • getSlavecards

      public List<UserCard> getSlavecards(UserCard basecard) throws ru.bitel.bgbilling.common.BGException
      Получение всех подчинённых (например, "копий") карт указанной карты. В качестве basecardTitle устанавливается название/роль каждой подчинённой карты. То есть например в вебе их надо выводить, типа "мультирум-копия N1".
      Parameters:
      cardId - ид "базовой" карты
      Returns:
      список подчинённых карт
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getSlavecards

      public 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 Map<Integer,List<UserCard>> makeSlavecardListMap(List<UserCard> allContractUsercards)
      Генерирует мэп зависимых карт каждой карты из списка всех карт договора.
      Parameters:
      allContractUsercards - все карты догогора (подразумевается так).
      Returns:
      мэп ид_карты => список ссылающихся на эту карту
    • getListByObject

      public List<UserCard> getListByObject(int objectId) throws ru.bitel.bgbilling.common.BGException
      Возвращает список карточек, привязанных к указанному объекту договора.
      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

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

      public Map<Integer,UserCard> getUserCardMap(int cid)