Class TopicManager
java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.plugins.helpdesk.server.bean.TopicManager
public class TopicManager
extends ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Connectionprotected ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer -
Constructor Summary
ConstructorsConstructorDescriptionTopicManager(Connection con, ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin) -
Method Summary
Modifier and TypeMethodDescriptionintintgetClientNewMessageCount(String contractTitleRegexp, List<Integer> contractMaskLabelIds) intgetClientNewMessageCount(String contractTitleRegexp, List<Integer> contractMaskLabelIds, int mode) Мэп новых сообщений для каждого юзера во всех его темах.protected StringgetDBTableName(String name) intgetManagersNewMessagesCount(int contractId) Кол-во не прочитанных сообщений абонентом.getMessage(int id) getMessageListRevert(int topicId, int lastMessageId, int count, boolean before) intgetNextMessageId(int id, int topicId) intgetPrevMessageId(int id, int topicId) getReserveOnTopic(int topicId) Получение резерва который повешан на данный топик.intgetReserveStatus(int topicId) Получение статуса топика.getStatusName(int statusId) getTopic(int topicId) Возвращает топик со всеми его сообщениями.getTopic(int topicId, boolean loadMessages) Возвращает топик со всеми его сообщениями.intЧисло топиков.getTopicInStatusBlocked(int contractId) Получение списка ид топиков у которых статус резерва выставлен в режим ожидания.getTopicList(TopicListFilter topicListFilter) Список заголовков топиков.intgetTopicOwnerId(int topicId) loadMessages(Topic topic) Заполняет для топика его сообщения.voidsearchTopicMessages(SearchResult<Message> searchResult, int topicId) voidsendNotification(Topic topic, Message message) voidsetBindTopic(int id, int userId, String comment) Занятие топика определённым юзером - менеджером.voidsetMessageAdminRead(int messageId, int userId) Установка прочтённости ОДНОГО сообщения админомvoidsetTopicAutoclose(int id, boolean autoclose) Изменить статус автозакрытия темыvoidsetTopicClientRead(int topicId) Отмечаем прочитанными весь топик КЛИЕНТОМ (тех сообщений которые написаны манагером)voidsetTopicClosed(int id, boolean closed, boolean packetMode, int userId) Открыть/закрыть тему.voidsetTopicStatus(int id, int status) Установка статуса топика.voidupdateManagerForTopic(int userId, int topicId, String comment) voidupdateMessage(int id, Message message) protected voidupdateMessage(int id, Message message, boolean fromIM) voidupdateMessageComment(int messageId, String comment) voidupdateTopic(String id, Topic topic) Deprecated.intupdateTopic(Topic topic) Обновление топикаintupdateTopicMessage(Message message) voidupdateTopicPackage(int topicId, int contractPackageId) Устанавливает contractPackageId для топика с id = topicIdintupdateTopicReservStatus(int topicId, int reserveStatus, Integer reserveId) Устанавливает или обновлят статус и повешанный резерв у топика.Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
error, error, error, getLogger, logError, logError, warn
-
Field Details
-
con
-
plugin
protected ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin
-
-
Constructor Details
-
TopicManager
-
-
Method Details
-
getDBTableName
-
getTopicList
Список заголовков топиков. Поддержка определения новых сообщений для обеих сторон.- Parameters:
cid- ИД контракта. Или -1 если не учитывать.closed- паказывать закрытые (true), открытые (false) или не учитывать (null).date1- дата начала периода. для фильтрованноый выборки.date2- дата конца. для фильтрованноый выборки.title- часть заголовка. для фильтрованноый выборки.searchString- часть текста сообщения. для фильтрованной выборки.page- страница. для фильтрованноый выборки.onPage- на странице. для фильтрованноый выборки.- Returns:
- список Topic для фильтрованноый выборки.
-
getManagersNewMessagesCount
Кол-во не прочитанных сообщений абонентом.- Throws:
Exception
-
getClientNewMessageCount
- Throws:
Exception
-
getClientNewMessageCount
-
getClientNewMessagesMap
Мэп новых сообщений для каждого юзера во всех его темах. Также есть и юзер -1, то есть темы без менеджера.- Returns:
- мэп{юзер => мэп{(тема-id,тема-заголовок)=>количество-новых}}
- Throws:
Exception
-
getClientNewMessageCount
-
getTopicCount
Число топиков.- Returns:
- натуральное число.
- See Also:
-
updateTopic
Deprecated.использоватьupdateTopic(Topic)- Parameters:
id-topic-- Throws:
Exception
-
updateTopic
Обновление топика- Parameters:
topic- - обновляемый/добавляемый топик.- Returns:
- - кол-во измененных полей в БД.
-
updateTopicPackage
Устанавливает contractPackageId для топика с id = topicId- Parameters:
topicId- - id топика для которого устанавливается contractPackageIdcontractPackageId- - id активного пакета- Throws:
Exception
-
updateTopicMessage
- Throws:
Exception
-
getTopic
Возвращает топик со всеми его сообщениями.- Parameters:
topicId- - ИД топика.- Returns:
- объект Topic с заполненым списком сообщений.
- Throws:
Exception
-
getTopic
Возвращает топик со всеми его сообщениями.- Parameters:
topicId- - ИД топика.- Returns:
- объект Topic с заполненым списком сообщений.
- Throws:
Exception
-
loadMessages
Заполняет для топика его сообщения. Используется и тут и снаружи класса. Потому и вынесен так.- Parameters:
topic- - валидный заполненный объект Topic- Throws:
Exception
-
searchTopicMessages
- Throws:
Exception
-
getMessage
- Throws:
Exception
-
getPrevMessageId
- Throws:
Exception
-
getNextMessageId
- Throws:
Exception
-
getTopicOwnerId
- Throws:
Exception
-
updateMessage
- Throws:
Exception
-
updateMessage
- Throws:
Exception
-
updateMessageComment
- Throws:
Exception
-
setTopicClosed
Открыть/закрыть тему.- Parameters:
id- код топикаclosed- true - закрыть тему, false - открыть темуpacketMode- режим топикаuserId- код пользователя, закрывающего топик
-
setTopicAutoclose
Изменить статус автозакрытия темы- Parameters:
id- - код темыautoclose- - новое значение- Throws:
Exception
-
setTopicClientRead
Отмечаем прочитанными весь топик КЛИЕНТОМ (тех сообщений которые написаны манагером)- Parameters:
topicId- - ИД топика- Throws:
Exception
-
setMessageAdminRead
Установка прочтённости ОДНОГО сообщения админом- Parameters:
messageId- - ид сообщенияuserId- - ид админа- Throws:
Exception
-
setBindTopic
Занятие топика определённым юзером - менеджером.- Parameters:
id- - ид топика.userId- - ид юзера.- Throws:
Exception
-
setTopicStatus
Установка статуса топика.- Parameters:
id- ид топика.userId- ид юзера.- Throws:
Exception
-
getStatusName
- Throws:
Exception
-
getStatusMap
-
getStatusesMap
- Throws:
Exception
-
updateManagerForTopic
- Throws:
Exception
-
updateTopicReservStatus
public int updateTopicReservStatus(int topicId, int reserveStatus, Integer reserveId) throws Exception Устанавливает или обновлят статус и повешанный резерв у топика.- Parameters:
topicId- - ид топика.reserveStatus- - выставляемый статус.reserveId- - ид резерва.- Returns:
- - кол-во изменненых строк в БД.
- Throws:
Exception
-
getReserveOnTopic
Получение резерва который повешан на данный топик.- Parameters:
topicId- - ид топика.- Returns:
- - резерв.
- Throws:
Exception
-
getReserveStatus
Получение статуса топика.- Parameters:
topicId-- Throws:
Exception
-
getTopicInStatusBlocked
Получение списка ид топиков у которых статус резерва выставлен в режим ожидания.- Parameters:
contractId- код договора.- Returns:
- - список идешников.
-
getMessageListRevert
public List<Message> getMessageListRevert(int topicId, int lastMessageId, int count, boolean before) throws Exception - Parameters:
topicId- - код темыlastMessageId- - код сообщения от которого начнется отсчетcount- - кол-во сообщенийbefore- - если true, то предыдущие относительно переданного, иначе следующих, то есть более новых- Returns:
- - список сообщений предыдущиих/следующих к сообщению с id=lastMessageId, в обратном порядке.
- Throws:
Exception
-
sendNotification
- Throws:
Exception
-
updateTopic(Topic)