新版仿ok交易所-后端
1
zyy
2026-03-24 513e5442723f501525bf9ca6210b16561e5d3a2b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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<OnlinechatMessage> cacheGetList(int pageNo, int pageSize, String partyId);
 
    /**
     * 分页读取在线客服用户列表(管理员界面)
     */
    public List<MessageUser> cacheGetMessageUserPage(int pageNo, int pageSize, String username);
 
     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<OnlineChatMessage> cacheGetList(String messageId, int pageSize, String partyId, 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<String, Object> getUserInfo(String partyId);
 
     Map<String, List<OnlineChatMessage>> cacheMessageAll();
 
     Map<String, MessageUser> cacheMessageUserAll();
 
     void putMessage(String key, List<OnlineChatMessage> value);
 
     void putMessageUser(String key, MessageUser value);
 
     List<OnlineChatMessage> 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);
}