package com.yami.trading.service.chat.online; import com.yami.trading.bean.chat.domain.MessageUser; import com.yami.trading.bean.chat.domain.OnlineChatMessage; import com.yami.trading.bean.chat.query.ChatUserInfoRespModel; import java.util.Date; import java.util.List; import java.util.Map; /** * 客服中心管理 */ public interface OnlineChatMessageService { // List cacheGetList(int pageNo, int pageSize, String partyId); /** * 分页读取在线客服用户列表(管理员界面) */ public List cacheGetMessageUserPage(int pageNo, int pageSize, String username,List roleNames); OnlineChatMessage saveSend(String partyId, String type, String send_receive, String content, String username, boolean isAutoAnswer); /* * 创建一个对话,如果已经存在则将对话更新到首位 */ MessageUser saveCreate(String uid, String username); void delete(String partyId); /** * 未读消息数,不输入参数,则返回所有的未读消息数 * * @param partyId 用户id * @param type user:用户未读数,customer:客服未读数 * @param targetUsername 当为客服时,指定用户的未读数 * @return */ int unreadMsg(String partyId, String type, String targetUsername); /** * 更新未读数 * * @param partyId * @param user_customer 更新对象,用户,客服 * @param type read:读,write:写 */ void updateUnread(String partyId, String user_customer, String type); /** * 根据消息id为起始索引,获取翻页数据 * * @param messageId * @param pageSize * @param partyId * @return */ List cacheGetList(String messageId, int pageSize, String partyId, boolean isClient, String... clicentType); /** * 获取聊天用户 * * @param key * @return */ MessageUser cacheMessageUser(String key); /** * 设置备注 * * @param partyId * @param remarks */ public String updateResetRemarks(String partyId, String remarks) throws Exception; /** * 获取用户信息 * * @param partyId * @return */ public Map getUserInfo(String partyId); Map> cacheMessageAll(); Map cacheMessageUserAll(); void putMessage(String key, List value); void putMessageUser(String key, MessageUser value); List cacheMessage(String key); void updateMessageUserByIp(MessageUser messageUser); void deleteByIp(String ip); /** * 移除通知 * * @param partyId * @param removeTipNum */ void removeTips(String partyId, long removeTipNum); /** * 未分配到客服的用户,分配客服 * * @return */ void updateNoAnwserUser(String username); /** * 用户发送客服获取 * * @param partyId * @param sendTime * @param targetUsername * @return */ String userSendTarget(String partyId, Date sendTime, String targetUsername); OnlineChatMessage getMessageById(String messageId); /** * 后台客服撤回消息操作 * * @param messageId * @param targetUserName */ void updateMessageDelete(String messageId, String targetUserName); /** * 更新消息为已读 * @param messageId */ public void updateMessageRead(String messageId, String messageType); }