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
Возвращает подписку по её коду.- 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
Обновляет подписку.- 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
Генерирует хеш для подписки и заносит его в БД. Хеш необходим для дальнейшей возможности отписаться от email-рассылки. Вычисляется как MD5 от строки "<код подписки>+<код контакта>".- Parameters:
subscription
- подписка на рассылку с контактами, для которых формируется хеш.- Throws:
ru.bitel.bgbilling.common.BGException
- в случае sql-ошибки
-