Class ContractModuleDao

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.common.dao.AbstractDaoConstant
ru.bitel.bgbilling.common.dao.AbstractDao<ContractModule>
ru.bitel.bgbilling.kernel.contract.api.server.dao.ContractModuleDao

public class ContractModuleDao extends ru.bitel.bgbilling.common.dao.AbstractDao<ContractModule>
  • Nested Class Summary

    Nested classes/interfaces inherited from class ru.bitel.bgbilling.common.dao.AbstractDao

    ru.bitel.bgbilling.common.dao.AbstractDao.ListParams
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     

    Fields inherited from class ru.bitel.bgbilling.common.dao.AbstractDao

    orderByPattern

    Fields inherited from class ru.bitel.bgbilling.common.dao.AbstractDaoConstant

    con, ERROR, fields, moduleId, SQL_ALL, SQL_AND, 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_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE, tableName
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Добавляет экземпляр модуля к договору в БД.
    void
    deleteContractModule(int contractId, int moduleId)
    Удаляет экземпляр модуля из договора в БД.
    void
    deleteForContract(int contractId)
     
    int
     
    getContractIdsWithModule(List<Integer> contractIds, int moduleId)
    Возвращает Set с кодами договоров, на которых подключен заданный модуль.
    Возвращает Map с кодами экземпляров модулей договора от ид_договоров.
    getContractModules(int contractId)
    Возвращает список экземпляров модулей договора с сортировкой по названию.
    getContractModuleSet(int contractId)
    Возвращает Set с кодами экземпляров модулей договора.
    protected ContractModule
     
    protected void
     

    Methods inherited from class ru.bitel.bgbilling.common.dao.AbstractDao

    deleteImpl, dropTemporaryTable, eq, get, getById, getImpl, getListFromRS, getPeriod, getQueryById, getQueryWithFilter, getSQLOrder, list, list, list, listCountImplPS, listImpl, listImplPS, ormFromResultSet, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, queryPeriod, setPageRecordCount, update

    Methods inherited from class ru.bitel.bgbilling.common.dao.AbstractDaoConstant

    getPlaceholders, getSQLOrder, getSQLOrderFields, getTableName, psSetDate, psSetDateOrNull, psSetInt, psSetIntOrNull, psSetPeriod, psSetString, psSetStringOrNull, psSetTimestampOrNull, queryAndIn, setStatementParam, sqlDelete, sqlDeleteBatch, sqlInsert, sqlInsertBatch, sqlInsertGetId, sqlInsertGetLongId, sqlInsertOnDuplicateKeyUpdate, sqlInsertSelect, sqlInsertUpdateById, sqlSelectCountAsInt, sqlUpdate, sqlUpdateBatch

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

    error, error, error, getLogger, logError, logError, warn

    Methods inherited from class java.lang.Object

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

  • Constructor Details

    • ContractModuleDao

      public ContractModuleDao(Connection con)
  • Method Details

    • getContractModules

      public List<BGModule> getContractModules(int contractId) throws SQLException
      Возвращает список экземпляров модулей договора с сортировкой по названию. Использует ModuleCache.
      Parameters:
      contractId -
      Returns:
      Throws:
      SQLException
    • getContractModuleSet

      public Set<Integer> getContractModuleSet(int contractId) throws SQLException
      Возвращает Set с кодами экземпляров модулей договора.
      Parameters:
      contractId -
      Returns:
      Throws:
      SQLException
    • getContractModuleMap

      public Map<Integer,Set<Integer>> getContractModuleMap() throws SQLException
      Возвращает Map с кодами экземпляров модулей договора от ид_договоров. cid=>set[mid,...] ВНИМАНИЕ: в общем случае для крупных клиентов получается СЛИШКОМ большая структура, такое нельзя использовать, лучше сделать больше запросов или джойн.
      Returns:
      Throws:
      SQLException
    • addContractModule

      public void addContractModule(ContractModule contractModule) throws SQLException
      Добавляет экземпляр модуля к договору в БД.
      Parameters:
      contractModule -
      Throws:
      SQLException
    • deleteContractModule

      public void deleteContractModule(int contractId, int moduleId) throws SQLException, ru.bitel.bgbilling.common.BGException
      Удаляет экземпляр модуля из договора в БД.
      Parameters:
      contractId -
      moduleId -
      Throws:
      ru.bitel.bgbilling.common.BGException
      SQLException
    • getContractCountByModuleId

      public int getContractCountByModuleId(int moduleId) throws SQLException
      Throws:
      SQLException
    • getContractIdsWithModule

      public Set<Integer> getContractIdsWithModule(List<Integer> contractIds, int moduleId) throws SQLException
      Возвращает Set с кодами договоров, на которых подключен заданный модуль. Проверка выполняется одним запросом по всему переданному списку id договоров (а не по каждому договору отдельно), список разбивается на чанки размером CONTRACT_IDS_CHUNK_SIZE.
      Parameters:
      contractIds - список id договоров
      moduleId - id экземпляра модуля
      Returns:
      Set с кодами договоров, на которых есть указанный модуль
      Throws:
      SQLException
    • deleteForContract

      public void deleteForContract(int contractId) throws SQLException
      Throws:
      SQLException
    • getFromRS

      protected ContractModule getFromRS(ResultSet rs) throws SQLException
      Specified by:
      getFromRS in class ru.bitel.bgbilling.common.dao.AbstractDao<ContractModule>
      Throws:
      SQLException
    • updateImpl

      protected void updateImpl(ContractModule b) throws SQLException
      Specified by:
      updateImpl in class ru.bitel.bgbilling.common.dao.AbstractDao<ContractModule>
      Throws:
      SQLException