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 -
Method Summary
Modifier and TypeMethodDescriptionvoiddelete(int subscriptionId) Удаляет подписку по её коду.voiddeleteByDispatch(int id) Удаляет подписки для данного типа рассылок.deleteByHash(String hash) Фактически - отписка от рассылки для определенного контакта по хешу этой подписки.voiddeleteContractSubscriptions(int contractId) Удаляет подписки договора.voidgenerateHashes(Subscription subscription) Генерирует хеш для подписки и заносит его в БД.get(int id) Возвращает подписку по её коду.Получение подписки на рассылку по ее хешуgetList(int dispatchId, int contractId) Возвращает список подписок по условиям.booleanisContactSubscribed(int contactId) Проверяет, подписан ли контакт с данным кодом хотя бы на одну рассылку.voidupdate(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, sqlUpdateBatchMethods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
error, error, error, getLogger, logError, logError, warn
-
Constructor Details
-
SubscriptionDao
-
-
Method Details
-
get
Возвращает подписку по её коду.- Parameters:
id- код подписки- Returns:
- экземпляр подписки
- Throws:
ru.bitel.bgbilling.common.BGException- в случае sql-ошибкиSQLException
-
getList
- 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
Удаляет подписку по её коду.- Parameters:
subscriptionId- код подписки- Throws:
ru.bitel.bgbilling.common.BGException- в случае sql-ошибокSQLException
-
deleteByDispatch
Удаляет подписки для данного типа рассылок.- Parameters:
id- код рассылки- Throws:
ru.bitel.bgbilling.common.BGException- в случае sql-ошибокSQLException
-
isContactSubscribed
Проверяет, подписан ли контакт с данным кодом хотя бы на одну рассылку.- 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
Удаляет подписки договора.- Parameters:
contractId- код договора.- Throws:
ru.bitel.bgbilling.common.BGException- в случае sql-ошибкиSQLException
-
deleteByHash
Фактически - отписка от рассылки для определенного контакта по хешу этой подписки. Хеш подписки вычисляется как MD5(код подписки + код контакта).- Parameters:
hash- хеш подписки.- Returns:
- экземпляр подписки
- Throws:
ru.bitel.bgbilling.common.BGException- в случае sql-ошибкиSQLException
-
getByHash
Получение подписки на рассылку по ее хешу- Parameters:
hashString- хеш подписки. вычисляется как MD5(код подписки + код контакта)- Returns:
- экземпляр подписки
- Throws:
SQLException
-
generateHashes
Генерирует хеш для подписки и заносит его в БД. Хеш необходим для дальнейшей возможности отписаться от email-рассылки. Вычисляется как MD5 от строки "<код подписки>+<код контакта>".- Parameters:
subscription- подписка на рассылку с контактами, для которых формируется хеш.- Throws:
ru.bitel.bgbilling.common.BGException- в случае sql-ошибкиSQLException
-