com.seeyon.ctp.common.usermessage
接口 UserMessageManager


public interface UserMessageManager

发送系统/个人消息接口

版本:
1.0 2007-3-8
作者:
maok, Tanmf

方法摘要
 java.util.Map countMessage()
          分时间段及消息类型统计消息 时间段:本月,本季度,本年 消息类型:个人消息,系统消息
 java.lang.Integer[] countNewMessage(java.lang.Long memberId)
          统计某人未读新消息的数目 return {系统消息数目,在线消息数目}
 void deleteMessage(java.lang.Long userId, java.lang.String deleteType, java.util.List<java.lang.Long> ids)
          删除聊天记录
 void deleteReadMessage()
           
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllHistoryMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE type, java.lang.Long userId, java.lang.Long id, boolean search, java.lang.String area, java.lang.String time, java.lang.String content)
          获取当前所有聊天记录
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllHistoryMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE type, java.lang.Long userId, java.lang.Long id, boolean search, java.lang.String area, java.lang.String time, java.lang.String content, boolean isPage)
          获取当前所有聊天记录,不分页
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllPersonMessages(long userInternalID, java.lang.String condition, java.lang.String textfield, java.lang.String textfield1)
          获取当前全部的个人消息列表,包括我发的和发给我的
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllPersonMessages(long userInternalID, java.lang.String condition, java.lang.String textfield, java.lang.String textfield1, java.lang.Boolean isPage)
           
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllSystemMessages(long userInternalID, java.lang.String condition, java.lang.String textfield, java.lang.String textfield1)
          获取当前全部的系统消息列表
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllSystemMessages(long userInternalID, java.lang.String condition, java.lang.String textfield, java.lang.String textfield1, java.lang.Boolean isPage)
           
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllSystemMessages(long userInternalID, java.lang.String condition, java.lang.String textfield, java.lang.String textfield1, java.lang.Boolean isPage, java.lang.String readType)
           
 int getCachedUserCount()
          消息缓存中已缓存的用户个数
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getHistoryMessageTree(java.lang.Long userId)
          获取所有聊天对象
 java.util.List<java.lang.String> getMessageAttachmentNames(long senderId, long recieverId, int size)
          取得消息附件
 java.lang.String getNewMessagesAndOnlineSize()
           
 int getThisHistoryMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE type, java.lang.Long userId, java.lang.Long id, java.lang.String createDate)
          获取当前聊天记录的总数
 java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getThisHistoryMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE type, java.lang.Long userId, java.lang.Long id, java.lang.String createDate, int start, int pageSize)
          获取当前聊天记录
 java.util.List<com.seeyon.ctp.common.po.usermessage.Ent_UserMessage> getUnresolvedMessagesForMB(long userInternalID)
           
 java.lang.String getUserOnlineMessage()
           
 int getWaitingParseQLength()
          获取等待解析的队列长度
 int getWaitingSaveQLength()
          获取等待入库的队列长度
 void initMessageState()
           
 boolean isCachedUserMessage(long userInternalID)
          用户消息是否被缓存
 void removeAllMessages(long userInternalID, int messageType)
          清空我接收到的消息
 void removeMessage(java.lang.String condition, java.lang.Long longfield)
          根据消息的保留时间或每人的最大消息数量清除消息
 void removeMessage(java.lang.String startTime, java.lang.String endTime)
          根据消息阅读状态及时间段清除消息
 void saveMessage(com.seeyon.ctp.common.po.usermessage.Ent_UserMessage msg)
          保存消息
 void sendIMMessage(int type, com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE messageType, java.lang.Long referenceId, java.lang.String content, long senderId, java.util.List<java.lang.Long> receiverIds, java.lang.String creationDate)
          发送在线IM消息
实现策略:直接写入历史消息
 void sendMessage(UserMessage userMessage)
          发送消息
 void sendPersonMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE messageType, java.lang.Long referenceId, java.lang.String content, long senderId, java.util.List<java.lang.Long> receiverIds, java.lang.String creationDate)
          发送个人消息
实现策略:直接写入消息表
 void sendPersonMessage(java.lang.String content, long senderId, long... receiverId)
          发送个人消息
实现策略:直接写入消息表
 void sendSystemMessage(com.seeyon.ctp.common.usermessage.MessageContent content, com.seeyon.ctp.common.constants.ApplicationCategoryEnum messageCategroy, long senderId, java.util.Collection<com.seeyon.ctp.common.usermessage.MessageReceiver> receivers, java.lang.Object... messageFilterArgs)
          发送系统消息
实现策略:先调用异步任务接口TaskManager.sendTaskToQueue,然后由异步任务调度器调度消息解析器,然后写入消息表
 void sendSystemMessage(com.seeyon.ctp.common.usermessage.MessageContent content, com.seeyon.ctp.common.constants.ApplicationCategoryEnum messageCategroy, long senderId, com.seeyon.ctp.common.usermessage.MessageReceiver receiver, java.lang.Object... messageFilterArgs)
          发送系统消息
实现策略:先调用异步任务接口TaskManager.sendTaskToQueue,然后由异步任务调度器调度消息解析器,然后写入消息表
 void sendSystemMessage(com.seeyon.ctp.common.usermessage.MessageContent content, int messageCategroy, long senderId, java.util.Collection<com.seeyon.ctp.common.usermessage.MessageReceiver> receivers, java.lang.Object... messageFilterArgs)
          发送系统消息
实现策略:先调用异步任务接口TaskManager.sendTaskToQueue,然后由异步任务调度器调度消息解析器,然后写入消息表
 void sendSystemMessage(com.seeyon.ctp.common.usermessage.MessageContent content, int messageCategroy, long senderId, java.util.Date creationDate, java.util.Collection<com.seeyon.ctp.common.usermessage.MessageReceiver> receivers, java.lang.Object... messageFilterArgs)
          发送系统消息
实现策略:先调用异步任务接口TaskManager.sendTaskToQueue,然后由异步任务调度器调度消息解析器,然后写入消息表
 void setMessageReadedSate(java.lang.Long memberId, int msgTypte)
          修改 消息的读状态
 void updateSystemMessageState(long id)
          更新系统消息未读状态
 void updateSystemMessageStateByCategory(long userId, int messageCategory)
          更新系统消息未读状态
 void updateSystemMessageStateByUser(long userInternalID)
          更新用户系统消息未读状态
 

方法详细信息

initMessageState

void initMessageState()

deleteReadMessage

void deleteReadMessage()

getAllSystemMessages

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllSystemMessages(long userInternalID,
                                                                                             java.lang.String condition,
                                                                                             java.lang.String textfield,
                                                                                             java.lang.String textfield1)
                                                                                             throws BusinessException
获取当前全部的系统消息列表

参数:
userInternalID - 用户内部ID
condition - 查询条件,默认为null,支持:用户姓名,消息内容,时间段
textfield -
textfield1 -
返回:
抛出:
BusinessException

getAllSystemMessages

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllSystemMessages(long userInternalID,
                                                                                             java.lang.String condition,
                                                                                             java.lang.String textfield,
                                                                                             java.lang.String textfield1,
                                                                                             java.lang.Boolean isPage)
                                                                                             throws BusinessException
抛出:
BusinessException

getAllSystemMessages

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllSystemMessages(long userInternalID,
                                                                                             java.lang.String condition,
                                                                                             java.lang.String textfield,
                                                                                             java.lang.String textfield1,
                                                                                             java.lang.Boolean isPage,
                                                                                             java.lang.String readType)
                                                                                             throws BusinessException
抛出:
BusinessException

getAllPersonMessages

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllPersonMessages(long userInternalID,
                                                                                             java.lang.String condition,
                                                                                             java.lang.String textfield,
                                                                                             java.lang.String textfield1)
                                                                                             throws BusinessException
获取当前全部的个人消息列表,包括我发的和发给我的

参数:
userInternalID - 用户内部ID
condition - 查询条件,默认为null,支持:用户姓名,消息内容,时间段
textfield -
textfield1 -
返回:
抛出:
BusinessException

getAllPersonMessages

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllPersonMessages(long userInternalID,
                                                                                             java.lang.String condition,
                                                                                             java.lang.String textfield,
                                                                                             java.lang.String textfield1,
                                                                                             java.lang.Boolean isPage)
                                                                                             throws BusinessException
抛出:
BusinessException

getThisHistoryMessage

int getThisHistoryMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE type,
                          java.lang.Long userId,
                          java.lang.Long id,
                          java.lang.String createDate)
                          throws BusinessException
获取当前聊天记录的总数

抛出:
BusinessException

getThisHistoryMessage

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getThisHistoryMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE type,
                                                                                              java.lang.Long userId,
                                                                                              java.lang.Long id,
                                                                                              java.lang.String createDate,
                                                                                              int start,
                                                                                              int pageSize)
                                                                                              throws BusinessException
获取当前聊天记录

抛出:
BusinessException

getHistoryMessageTree

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getHistoryMessageTree(java.lang.Long userId)
                                                                                              throws BusinessException
获取所有聊天对象

抛出:
BusinessException

getAllHistoryMessage

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllHistoryMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE type,
                                                                                             java.lang.Long userId,
                                                                                             java.lang.Long id,
                                                                                             boolean search,
                                                                                             java.lang.String area,
                                                                                             java.lang.String time,
                                                                                             java.lang.String content)
                                                                                             throws BusinessException
获取当前所有聊天记录

抛出:
BusinessException

getAllHistoryMessage

java.util.List<com.seeyon.ctp.common.po.usermessage.UserHistoryMessage> getAllHistoryMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE type,
                                                                                             java.lang.Long userId,
                                                                                             java.lang.Long id,
                                                                                             boolean search,
                                                                                             java.lang.String area,
                                                                                             java.lang.String time,
                                                                                             java.lang.String content,
                                                                                             boolean isPage)
                                                                                             throws BusinessException
获取当前所有聊天记录,不分页

抛出:
BusinessException

deleteMessage

void deleteMessage(java.lang.Long userId,
                   java.lang.String deleteType,
                   java.util.List<java.lang.Long> ids)
                   throws BusinessException
删除聊天记录

抛出:
BusinessException

sendMessage

void sendMessage(UserMessage userMessage)
                 throws BusinessException
发送消息

参数:
userMessage -
抛出:
BusinessException

sendSystemMessage

void sendSystemMessage(com.seeyon.ctp.common.usermessage.MessageContent content,
                       com.seeyon.ctp.common.constants.ApplicationCategoryEnum messageCategroy,
                       long senderId,
                       com.seeyon.ctp.common.usermessage.MessageReceiver receiver,
                       java.lang.Object... messageFilterArgs)
                       throws BusinessException
发送系统消息
实现策略:先调用异步任务接口TaskManager.sendTaskToQueue,然后由异步任务调度器调度消息解析器,然后写入消息表

参数:
content - 消息体
messageCategroy - 消息所属应用分类 在com.seeyon.ctp.common.constants.ApplicationCategoryEnum中定义
senderId - 发送在和ID
receiver - 接收者
messageFilterArgs - 消息转移的参数,与对应的UserMessageFilter对应
抛出:
BusinessException
另请参见:
ApplicationCategoryEnum

sendSystemMessage

void sendSystemMessage(com.seeyon.ctp.common.usermessage.MessageContent content,
                       com.seeyon.ctp.common.constants.ApplicationCategoryEnum messageCategroy,
                       long senderId,
                       java.util.Collection<com.seeyon.ctp.common.usermessage.MessageReceiver> receivers,
                       java.lang.Object... messageFilterArgs)
                       throws BusinessException
发送系统消息
实现策略:先调用异步任务接口TaskManager.sendTaskToQueue,然后由异步任务调度器调度消息解析器,然后写入消息表

参数:
content - 消息体
messageCategroy - 消息所属应用分类 在com.seeyon.ctp.common.constants.ApplicationCategoryEnum中定义
senderId - 发送在和ID
receivers - 接收者
messageFilterArgs - 消息转移的参数,与对应的UserMessageFilter对应
抛出:
BusinessException
另请参见:
ApplicationCategoryEnum

sendSystemMessage

void sendSystemMessage(com.seeyon.ctp.common.usermessage.MessageContent content,
                       int messageCategroy,
                       long senderId,
                       java.util.Collection<com.seeyon.ctp.common.usermessage.MessageReceiver> receivers,
                       java.lang.Object... messageFilterArgs)
                       throws BusinessException
发送系统消息
实现策略:先调用异步任务接口TaskManager.sendTaskToQueue,然后由异步任务调度器调度消息解析器,然后写入消息表

参数:
content - 消息体
messageCategroy - 消息所属应用分类 在com.seeyon.ctp.common.constants.ApplicationCategoryEnum中定义 如果是插件,需要在插件定义文件中配置applicationCategory属性
senderId - 发送在和ID
receivers - 接收者
messageFilterArgs - 消息转移的参数,与对应的UserMessageFilter对应
抛出:
BusinessException
另请参见:
ApplicationCategoryEnum

sendSystemMessage

void sendSystemMessage(com.seeyon.ctp.common.usermessage.MessageContent content,
                       int messageCategroy,
                       long senderId,
                       java.util.Date creationDate,
                       java.util.Collection<com.seeyon.ctp.common.usermessage.MessageReceiver> receivers,
                       java.lang.Object... messageFilterArgs)
                       throws BusinessException
发送系统消息
实现策略:先调用异步任务接口TaskManager.sendTaskToQueue,然后由异步任务调度器调度消息解析器,然后写入消息表

参数:
content - 消息体
messageCategroy - 消息所属应用分类 在com.seeyon.ctp.common.constants.ApplicationCategoryEnum中定义 如果是插件,需要在插件定义文件中配置applicationCategory属性
senderId - 发送在和ID
creationDate - 发送时间
receivers - 接收者
messageFilterArgs - 消息转移的参数,与对应的UserMessageFilter对应
抛出:
BusinessException
另请参见:
ApplicationCategoryEnum

saveMessage

void saveMessage(com.seeyon.ctp.common.po.usermessage.Ent_UserMessage msg)
                 throws BusinessException
保存消息

参数:
msg -
抛出:
BusinessException

sendPersonMessage

void sendPersonMessage(java.lang.String content,
                       long senderId,
                       long... receiverId)
                       throws BusinessException
发送个人消息
实现策略:直接写入消息表

参数:
content -
senderId -
receiverId -
抛出:
BusinessException

sendPersonMessage

void sendPersonMessage(com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE messageType,
                       java.lang.Long referenceId,
                       java.lang.String content,
                       long senderId,
                       java.util.List<java.lang.Long> receiverIds,
                       java.lang.String creationDate)
                       throws BusinessException
发送个人消息
实现策略:直接写入消息表

参数:
content -
senderId -
receiverIds -
抛出:
BusinessException

sendIMMessage

void sendIMMessage(int type,
                   com.seeyon.ctp.common.usermessage.Constants.UserMessage_TYPE messageType,
                   java.lang.Long referenceId,
                   java.lang.String content,
                   long senderId,
                   java.util.List<java.lang.Long> receiverIds,
                   java.lang.String creationDate)
                   throws BusinessException
发送在线IM消息
实现策略:直接写入历史消息

参数:
content -
senderId -
receiverIds -
抛出:
BusinessException

removeAllMessages

void removeAllMessages(long userInternalID,
                       int messageType)
                       throws BusinessException
清空我接收到的消息

参数:
userInternalID -
抛出:
BusinessException

countMessage

java.util.Map countMessage()
                           throws BusinessException
分时间段及消息类型统计消息 时间段:本月,本季度,本年 消息类型:个人消息,系统消息

参数:
userInternalID -
返回:
抛出:
BusinessException

removeMessage

void removeMessage(java.lang.String startTime,
                   java.lang.String endTime)
                   throws BusinessException
根据消息阅读状态及时间段清除消息

参数:
startTime -
endTime -
isRead -
抛出:
BusinessException

removeMessage

void removeMessage(java.lang.String condition,
                   java.lang.Long longfield)
                   throws BusinessException
根据消息的保留时间或每人的最大消息数量清除消息

参数:
condition -
longfield -
抛出:
BusinessException

getMessageAttachmentNames

java.util.List<java.lang.String> getMessageAttachmentNames(long senderId,
                                                           long recieverId,
                                                           int size)
取得消息附件

参数:
senderId -
recieverId -
size -
返回:

getNewMessagesAndOnlineSize

java.lang.String getNewMessagesAndOnlineSize()
返回:

countNewMessage

java.lang.Integer[] countNewMessage(java.lang.Long memberId)
                                    throws BusinessException
统计某人未读新消息的数目 return {系统消息数目,在线消息数目}

抛出:
BusinessException

setMessageReadedSate

void setMessageReadedSate(java.lang.Long memberId,
                          int msgTypte)
修改 消息的读状态

参数:
memberId -
msgTypte -

updateSystemMessageState

void updateSystemMessageState(long id)
                              throws BusinessException
更新系统消息未读状态

参数:
id -
抛出:
BusinessException

updateSystemMessageStateByCategory

void updateSystemMessageStateByCategory(long userId,
                                        int messageCategory)
                                        throws BusinessException
更新系统消息未读状态

参数:
category -
抛出:
BusinessException

updateSystemMessageStateByUser

void updateSystemMessageStateByUser(long userInternalID)
                                    throws BusinessException
更新用户系统消息未读状态

参数:
userInternalID -
抛出:
BusinessException

getWaitingSaveQLength

int getWaitingSaveQLength()
获取等待入库的队列长度

返回:

getWaitingParseQLength

int getWaitingParseQLength()
获取等待解析的队列长度

返回:

getCachedUserCount

int getCachedUserCount()
消息缓存中已缓存的用户个数

返回:

isCachedUserMessage

boolean isCachedUserMessage(long userInternalID)
用户消息是否被缓存

参数:
userInternalID -
返回:

getUnresolvedMessagesForMB

java.util.List<com.seeyon.ctp.common.po.usermessage.Ent_UserMessage> getUnresolvedMessagesForMB(long userInternalID)
                                                                                                throws BusinessException
抛出:
BusinessException

getUserOnlineMessage

java.lang.String getUserOnlineMessage()
                                      throws BusinessException
抛出:
BusinessException