Class SubscriptionDao

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

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

    • SubscriptionDao

      public SubscriptionDao(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 List<Subscription> getList(int dispatchId, int contractId) throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getList

      public List<Subscription> getList(int dispatchId, int contractId, 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(String hash) throws ru.bitel.bgbilling.common.BGException
      Фактически - отписка от рассылки для определенного контакта по хешу этой подписки. Хеш подписки вычисляется как MD5(код подписки + код контакта).
      Parameters:
      hash - хеш подписки.
      Returns:
      экземпляр подписки
      Throws:
      ru.bitel.bgbilling.common.BGException - в случае sql-ошибки
    • getByHash

      public Subscription getByHash(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-ошибки