Class SubscriptionDao

java.lang.Object
ru.bitel.bgbilling.plugins.dispatch.server.dao.SubscriptionDao

public class SubscriptionDao
extends java.lang.Object
DAO для работы с подписками на рассылки напрямую. Вместо работы с этим DAO рекомендуется работать с веб-сервисом DispatchService
  • Constructor Summary

    Constructors
    Constructor Description
    SubscriptionDao​(java.sql.Connection con)  
  • Method Summary

    Modifier and Type Method Description
    void delete​(int subscriptionId)
    Удаляет подписку по её коду.
    void deleteByDispatch​(int id)
    Удаляет подписки для данного типа рассылок.
    Subscription deleteByHash​(java.lang.String hash)
    Фактически - отписка от рассылки для определенного контакта по хешу этой подписки.
    void deleteContractSubscriptions​(int contractId)
    Удаляет подписки договора.
    void generateHashes​(Subscription subscription)
    Генерирует хеш для подписки и заносит его в БД.
    Subscription get​(int id)
    Возвращает подписку по её коду.
    Subscription getByHash​(java.lang.String hashString)
    Получение подписки на рассылку по ее хешу
    java.util.List<Subscription> getList​(int dispatchId, int contractId)  
    java.util.List<Subscription> getList​(int dispatchId, int contractId, java.lang.Boolean active)
    Возвращает список подписок по условиям.
    boolean isContactSubscribed​(int contactId)
    Проверяет, подписан ли контакт с данным кодом хотя бы на одну рассылку.
    void update​(Subscription subscription)
    Обновляет подписку.

    Methods inherited from class java.lang.Object

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

    • SubscriptionDao

      public SubscriptionDao​(java.sql.Connection con)
  • Method Details

    • get

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

      public java.util.List<Subscription> getList​(int dispatchId, int contractId) throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getList

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

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

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

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

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

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

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

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

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