Package ru.bitel.bgbilling.plugins.dispatch.server.dao

# 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-ошибки