Class TopicManager
java.lang.Object
ru.bitel.bgbilling.plugins.helpdesk.server.bean.TopicManager
public class TopicManager
extends java.lang.Object
-
Field Summary
-
Constructor Summary
Constructors Constructor Description TopicManager(java.sql.Connection con, ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)
-
Method Summary
Modifier and Type Method Description int
getClientNewMessageCount()
int
getClientNewMessageCount(java.lang.String contractTitleRegexp, java.lang.Long contractGroupBitMask)
int
getClientNewMessageCount(java.lang.String contractTitleRegexp, java.lang.Long contractGroupBitMask, int mode)
java.util.Map<java.lang.Integer,java.util.Map<IdTitle,java.lang.Integer>>
getClientNewMessagesMap()
Мэп новых сообщений для каждого юзера во всех его темах.protected java.lang.String
getDBTableName(java.lang.String name)
int
getManagersNewMessagesCount(int contractId)
Кол-во не прочитанных сообщений абонентом.Message
getMessage(int id)
java.util.List<Message>
getMessageListRevert(int topicId, int lastMessageId, int count, boolean before)
int
getNextMessageId(int id, int topicId)
int
getPrevMessageId(int id, int topicId)
Reserve
getReserveOnTopic(int topicId)
Получение резерва который повешан на данный топик.int
getReserveStatus(int topicId)
Получение статуса топика.java.util.Map<java.lang.Integer,java.lang.String>
getStatusesMap()
java.util.Map<java.lang.Integer,java.lang.String>
getStatusMap()
java.lang.String
getStatusName(int statusId)
Topic
getTopic(int topicId)
Возвращает топик со всеми его сообщениями.Topic
getTopic(int topicId, boolean loadMessages)
Возвращает топик со всеми его сообщениями.int
getTopicCount(TopicListFilter tf)
Число топиков.java.util.List<java.lang.Integer>
getTopicInStatusBlocked(int contractId)
Получение списка ид топиков у которых статус резерва выставлен в режим ожидания.java.util.List<Topic>
getTopicList(TopicListFilter topicListFilter)
Список заголовков топиков.int
getTopicOwnerId(int topicId)
java.util.List<Message>
loadMessages(Topic topic)
Заполняет для топика его сообщения.void
searchTopicMessages(SearchResult<Message> searchResult, int topicId)
void
sendNotification(Topic topic, Message message)
void
setBindTopic(int id, int userId, java.lang.String comment)
Занятие топика определённым юзером - менеджером.void
setMessageAdminRead(int messageId, int userId)
Установка прочтённости ОДНОГО сообщения админомvoid
setTopicAutoclose(int id, boolean autoclose)
Изменить статус автозакрытия темыvoid
setTopicClientRead(int topicId)
Отмечаем прочитанными весь топик КЛИЕНТОМ (тех сообщений которые написаны манагером)void
setTopicClosed(int id, boolean closed, boolean packetMode, int userId)
Открыть/закрыть тему.void
setTopicStatus(int id, int status)
Установка статуса топика.void
updateManagerForTopic(int userId, int topicId, java.lang.String comment)
void
updateMessage(java.lang.String id, Message message)
protected void
updateMessage(java.lang.String id, Message message, boolean fromIM)
void
updateMessageComment(int messageId, java.lang.String comment)
void
updateTopic(java.lang.String id, Topic topic)
Deprecated.int
updateTopic(Topic topic)
Обновление топикаint
updateTopicMessage(Message message)
void
updateTopicPackage(int topicId, int contractPackageId)
Устанавливает contractPackageId для топика с id = topicIdint
updateTopicReservStatus(int topicId, int reserveStatus, java.lang.Integer reserveId)
Устанавливает или обновлят статус и повешанный резерв у топика.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
con
protected java.sql.Connection con -
plugin
protected ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin
-
-
Constructor Details
-
TopicManager
public TopicManager(java.sql.Connection con, ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)
-
-
Method Details
-
getDBTableName
protected java.lang.String getDBTableName(java.lang.String name) -
getTopicList
Список заголовков топиков. Поддержка определения новых сообщений для обеих сторон.- Parameters:
cid
- ИД контракта. Или -1 если не учитывать.closed
- паказывать закрытые (true), открытые (false) или не учитывать (null).date1
- дата начала периода. для фильтрованноый выборки.date2
- дата конца. для фильтрованноый выборки.title
- часть заголовка. для фильтрованноый выборки.searchString
- часть текста сообщения. для фильтрованной выборки.page
- страница. для фильтрованноый выборки.onPage
- на странице. для фильтрованноый выборки.- Returns:
- список Topic для фильтрованноый выборки.
-
getManagersNewMessagesCount
public int getManagersNewMessagesCount(int contractId)Кол-во не прочитанных сообщений абонентом. -
getClientNewMessageCount
public int getClientNewMessageCount() -
getClientNewMessageCount
public int getClientNewMessageCount(java.lang.String contractTitleRegexp, java.lang.Long contractGroupBitMask) -
getClientNewMessagesMap
public java.util.Map<java.lang.Integer,java.util.Map<IdTitle,java.lang.Integer>> getClientNewMessagesMap()Мэп новых сообщений для каждого юзера во всех его темах. Также есть и юзер -1, то есть темы без менеджера.- Returns:
- мэп{юзер => мэп{(тема-id,тема-заголовок)=>количество-новых}}
-
getClientNewMessageCount
public int getClientNewMessageCount(java.lang.String contractTitleRegexp, java.lang.Long contractGroupBitMask, int mode) -
getTopicCount
Число топиков.- Returns:
- натуральное число.
- See Also:
getTopicList(ru.bitel.bgbilling.plugins.helpdesk.server.bean.TopicListFilter)
-
updateTopic
@Deprecated public void updateTopic(java.lang.String id, Topic topic) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.использоватьupdateTopic(Topic)
- Parameters:
id
-topic
-- Throws:
ru.bitel.bgbilling.common.BGException
-
updateTopic
Обновление топика- Parameters:
topic
- - обновляемый/добавляемый топик.- Returns:
- - кол-во измененных полей в БД.
- Throws:
ru.bitel.bgbilling.common.BGException
-
updateTopicPackage
public void updateTopicPackage(int topicId, int contractPackageId) throws ru.bitel.bgbilling.common.BGExceptionУстанавливает contractPackageId для топика с id = topicId- Parameters:
topicId
- - id топика для которого устанавливается contractPackageIdcontractPackageId
- - id активного пакета- Throws:
ru.bitel.bgbilling.common.BGException
-
updateTopicMessage
- Throws:
ru.bitel.bgbilling.common.BGException
-
getTopic
Возвращает топик со всеми его сообщениями.- Parameters:
topicId
- - ИД топика.- Returns:
- объект Topic с заполненым списком сообщений.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getTopic
public Topic getTopic(int topicId, boolean loadMessages) throws ru.bitel.bgbilling.common.BGExceptionВозвращает топик со всеми его сообщениями.- Parameters:
topicId
- - ИД топика.- Returns:
- объект Topic с заполненым списком сообщений.
- Throws:
ru.bitel.bgbilling.common.BGException
-
loadMessages
public java.util.List<Message> loadMessages(Topic topic) throws ru.bitel.bgbilling.common.BGExceptionЗаполняет для топика его сообщения. Используется и тут и снаружи класса. Потому и вынесен так.- Parameters:
topic
- - валидный заполненный объект Topic- Throws:
ru.bitel.bgbilling.common.BGException
-
searchTopicMessages
public void searchTopicMessages(SearchResult<Message> searchResult, int topicId) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getMessage
-
getPrevMessageId
public int getPrevMessageId(int id, int topicId) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getNextMessageId
public int getNextMessageId(int id, int topicId) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getTopicOwnerId
public int getTopicOwnerId(int topicId) -
updateMessage
public void updateMessage(java.lang.String id, Message message) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updateMessage
protected void updateMessage(java.lang.String id, Message message, boolean fromIM) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updateMessageComment
public void updateMessageComment(int messageId, java.lang.String comment) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
setTopicClosed
public void setTopicClosed(int id, boolean closed, boolean packetMode, int userId) throws ru.bitel.bgbilling.common.BGExceptionОткрыть/закрыть тему.- Parameters:
id
- код топикаclosed
- true - закрыть тему, false - открыть темуpacketMode
- режим топикаuserId
- код пользователя, закрывающего топик- Throws:
ru.bitel.bgbilling.common.BGException
-
setTopicAutoclose
public void setTopicAutoclose(int id, boolean autoclose) throws ru.bitel.bgbilling.common.BGExceptionИзменить статус автозакрытия темы- Parameters:
id
- - код темыautoclose
- - новое значение- Throws:
ru.bitel.bgbilling.common.BGException
-
setTopicClientRead
public void setTopicClientRead(int topicId) throws ru.bitel.bgbilling.common.BGExceptionОтмечаем прочитанными весь топик КЛИЕНТОМ (тех сообщений которые написаны манагером)- Parameters:
topicId
- - ИД топика- Throws:
ru.bitel.bgbilling.common.BGException
-
setMessageAdminRead
public void setMessageAdminRead(int messageId, int userId) throws ru.bitel.bgbilling.common.BGExceptionУстановка прочтённости ОДНОГО сообщения админом- Parameters:
messageId
- - ид сообщенияuserId
- - ид админа- Throws:
ru.bitel.bgbilling.common.BGException
-
setBindTopic
public void setBindTopic(int id, int userId, java.lang.String comment)Занятие топика определённым юзером - менеджером.- Parameters:
id
- - ид топика.userId
- - ид юзера.
-
setTopicStatus
public void setTopicStatus(int id, int status) throws ru.bitel.bgbilling.common.BGExceptionУстановка статуса топика.- Parameters:
id
- ид топика.userId
- ид юзера.- Throws:
ru.bitel.bgbilling.common.BGException
-
getStatusName
public java.lang.String getStatusName(int statusId) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getStatusMap
public java.util.Map<java.lang.Integer,java.lang.String> getStatusMap() -
getStatusesMap
public java.util.Map<java.lang.Integer,java.lang.String> getStatusesMap() throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updateManagerForTopic
public void updateManagerForTopic(int userId, int topicId, java.lang.String comment) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updateTopicReservStatus
public int updateTopicReservStatus(int topicId, int reserveStatus, java.lang.Integer reserveId) throws ru.bitel.bgbilling.common.BGExceptionУстанавливает или обновлят статус и повешанный резерв у топика.- Parameters:
topicId
- - ид топика.reserveStatus
- - выставляемый статус.reserveId
- - ид резерва.- Returns:
- - кол-во изменненых строк в БД.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getReserveOnTopic
Получение резерва который повешан на данный топик.- Parameters:
topicId
- - ид топика.- Returns:
- - резерв.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getReserveStatus
public int getReserveStatus(int topicId) throws ru.bitel.bgbilling.common.BGExceptionПолучение статуса топика.- Parameters:
topicId
-- Throws:
ru.bitel.bgbilling.common.BGException
-
getTopicInStatusBlocked
public java.util.List<java.lang.Integer> getTopicInStatusBlocked(int contractId) throws ru.bitel.bgbilling.common.BGExceptionПолучение списка ид топиков у которых статус резерва выставлен в режим ожидания.- Parameters:
contractId
- код договора.- Returns:
- - список идешников.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getMessageListRevert
public java.util.List<Message> getMessageListRevert(int topicId, int lastMessageId, int count, boolean before) throws ru.bitel.bgbilling.common.BGException- Parameters:
topicId
- - код темыlastMessageId
- - код сообщения от которого начнется отсчетcount
- - кол-во сообщенийbefore
- - если true, то предыдущие относительно переданного, иначе следующих, то есть более новых- Returns:
- - список сообщений предыдущиих/следующих к сообщению с id=lastMessageId, в обратном порядке.
- Throws:
ru.bitel.bgbilling.common.BGException
-
sendNotification
public void sendNotification(Topic topic, Message message) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updateTopic(Topic)