Class SubscriptionDao

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.common.dao.AbstractDaoConstant
ru.bitel.bgbilling.plugins.dispatch.server.dao.SubscriptionDao

public class SubscriptionDao extends ru.bitel.bgbilling.common.dao.AbstractDaoConstant
DAO для работы с подписками на рассылки напрямую. Вместо работы с этим DAO рекомендуется работать с веб-сервисом DispatchService
  • Field Summary

    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_ON_DUPLICATE_KEY_UPDATE, 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
    delete(int subscriptionId)
    Удаляет подписку по её коду.
    void
    Удаляет подписки для данного типа рассылок.
    Фактически - отписка от рассылки для определенного контакта по хешу этой подписки.
    void
    Удаляет подписки договора.
    void
    Генерирует хеш для подписки и заносит его в БД.
    get(int id)
    Возвращает подписку по её коду.
    getByHash(String hashString)
    Получение подписки на рассылку по ее хешу
    getList(int dispatchId, int contractId)
     
    getList(int dispatchId, int contractId, Boolean active)
    Возвращает список подписок по условиям.
    boolean
    isContactSubscribed(int contactId)
    Проверяет, подписан ли контакт с данным кодом хотя бы на одну рассылку.
    void
    update(Subscription subscription)
    Обновляет подписку.

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

    getPeriod, getPlaceholders, getSQLOrder, getSQLOrderFields, getTableName, psSetDate, psSetDateOrNull, psSetInt, psSetIntOrNull, psSetPeriod, psSetString, psSetStringOrNull, psSetTimestampOrNull, queryAndIn, setStatementParam, sqlDelete, sqlDeleteBatch, sqlInsert, sqlInsertBatch, sqlInsertGetId, sqlInsertOnDuplicateKeyUpdate, sqlInsertUpdateById, 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
  • Constructor Details

    • SubscriptionDao

      public SubscriptionDao(Connection con)
  • Method Details

    • get

      public Subscription get(int id) throws SQLException
      Возвращает подписку по её коду.
      Parameters:
      id - код подписки
      Returns:
      экземпляр подписки
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибки
      SQLException
    • getList

      public List<Subscription> getList(int dispatchId, int contractId) throws SQLException
      Throws:
      SQLException
    • getList

      public List<Subscription> getList(int dispatchId, int contractId, Boolean active) throws SQLException
      Возвращает список подписок по условиям.
      Parameters:
      dispatchId - если dispatchId > 0, то возвращает только подписки на эту рассылку.
      contractId - если contractId > 0, то возвращает только подписки данного договора.
      active - true - возвращает только активные подписки, false - все. Под активностью подразумевается наличие установленной галочки Активна.
      Returns:
      список подписок
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибок
      SQLException
    • delete

      public void delete(int subscriptionId) throws SQLException
      Удаляет подписку по её коду.
      Parameters:
      subscriptionId - код подписки
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибок
      SQLException
    • deleteByDispatch

      public void deleteByDispatch(int id) throws SQLException
      Удаляет подписки для данного типа рассылок.
      Parameters:
      id - код рассылки
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибок
      SQLException
    • isContactSubscribed

      public boolean isContactSubscribed(int contactId) throws SQLException
      Проверяет, подписан ли контакт с данным кодом хотя бы на одну рассылку.
      Parameters:
      contactId - код контакта.
      Returns:
      true - есть минимум одна подписка, false - нет ни одной подписки
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибки
      SQLException
    • update

      public void update(Subscription subscription) throws SQLException, ru.bitel.bgbilling.common.BGException
      Обновляет подписку.
      Parameters:
      subscription - экземпляр подписки
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибки
      SQLException
    • deleteContractSubscriptions

      public void deleteContractSubscriptions(int contractId) throws SQLException
      Удаляет подписки договора.
      Parameters:
      contractId - код договора.
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибки
      SQLException
    • deleteByHash

      public Subscription deleteByHash(String hash) throws SQLException
      Фактически - отписка от рассылки для определенного контакта по хешу этой подписки. Хеш подписки вычисляется как MD5(код подписки + код контакта).
      Parameters:
      hash - хеш подписки.
      Returns:
      экземпляр подписки
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибки
      SQLException
    • getByHash

      public Subscription getByHash(String hashString) throws SQLException
      Получение подписки на рассылку по ее хешу
      Parameters:
      hashString - хеш подписки. вычисляется как MD5(код подписки + код контакта)
      Returns:
      экземпляр подписки
      Throws:
      SQLException
    • generateHashes

      public void generateHashes(Subscription subscription) throws SQLException
      Генерирует хеш для подписки и заносит его в БД. Хеш необходим для дальнейшей возможности отписаться от email-рассылки. Вычисляется как MD5 от строки "<код подписки>+<код контакта>".
      Parameters:
      subscription - подписка на рассылку с контактами, для которых формируется хеш.
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибки
      SQLException