嘟满意客服系统
2018-04-04 17:22:42 1 举报
AI智能生成
客服系统主要功能及逻辑描绘
作者其他创作
大纲/内容
用户功能
同步用户信息
跳转客服平台Url
发送消息
发送图片
拍照发送
我的订单
客服功能
平台关联登录
跳转客服Url
用户列表
用户查看
全部会话
收藏会话
今日会话
用户搜索
显示搜索到的用户
聊天框
发送消息
表情发送
图片发送
快捷回复
自动回复
黑名单
举报用户
移至黑名单
黑名单管理
用户收藏
商品推荐
买家足迹
店铺商品
最新订单
个人订单
未完成
待发货
待签收
已签收
退款中
店铺订单
待支付订单
待成团订单
自动回复
当天收到买家第一次消息自动回复
忙碌时自动回复
好的/谢谢 自动回复
等待过久自动回复
回复率
声音提示
扫码登录
功能逻辑讲解
用户逻辑讲解
用户点击嘟满意商城【客服】按钮
请求客服平台Api(带用户信息或附带商品/订单信息)
用户未授权客服平台
授权客服平台并同步用户信息
返回用户标识CookieId
记录附带商品/订单信息
用户已授权客服平台
记录附带商品/订单信息
对比用户信息是否一致(名称/头像)
不一致时将同步用户信息
一致时返回用户标识CookieId
跳转用户界面
验证当前URL所带标识是否有效
无效时友好提示
有效时后台逻辑处理
判断当前是否在其他端登录
通过Redis中的SocketId验证是否已有连接
有连接时说明该用户已在其他端登录
返回友好提示处理
无连接时说明该用户可以往下操作
标记当前用户为在线状态并记录Redis
读取该用户是否已经关联客服
未关联客服
找到当前商品/订单下【对应商家】的对应接待人数最少的在线客服
无客服在线
不做处理
有客服在线
已关联客服
找到该客服Id连接的SocketId,到Redis中查找是否连接在线
未连接在线
已连接在线
加入Socket.io - Room中
通知关联客服进行上线、消息处理
读取【点击客服时】带过来的商品/订单信息
消息推送到Socket.io - Room中并记录Redis缓存(不记录数据库)
读取当前用户在Redis下的消息记录是否来自于数据库
如何判断
在Redis中存在一个data属性来区别
来自数据库数据
读取数据
获取当前【对应商家】的聊天消息
非来自数据库数据
读取数据库中该用户下的聊天消息记录
将聊天消息记录保存至Redis中
处理返回
用户消息
对应商家的聊天记录
聊天界面
发送消息
向后端发送消息,由后端Socket.io向当前Room发送消息内容
发送完成
客户端追加发送内容
将客服发送的未读数清空
图片后发送
拍照后发送
用户等待过久自动回复
发送消息后等待(默认3分钟)
Server:请求后台
读取当前关联客服是否在线
离线
返回值,不作回复
在线
读取当前客服是否设置【等待过久】自动回复
无设置/无开启
返回值,不作回复
已设置/开启
返回回复值,且回复
收到消息
展示收到消息
用户离线
离线原因:
后台重启
页面刷新
客户端网络异常
关闭页面
离线处理
向后端发送离线处理
读取Redis将当前用户移除
数据库状态标识为离线
找到对应的客服(已关联)修改其在线状态为离线状态
重要说明:用户点击客服时,将当前商品/订单对应的商家的设为连接中状态(其他商家设为断开状态),在跳转用户界面读取当前为连接中状态的商家进行逻辑处理
客服逻辑讲解
商户平台点击【在线客服】按钮
请求客服平台Api
未授权客服平台
授权客服平台同步客服信息
返回标识CookieId
已授权客服平台
对比信息是否一致(名称/头像)
不一致信息将信息重新同步
一致时返回客服标识CookieId
跳转客服界面
验证URL所携带标识CookieId是否有效
无效时
友好提示返回
有效时
验证处理登录
判断当前客服是否已在其他端登录
通过Redis中的SocketId是否连接
有连接时说明该客服已在其他端登录
返回友好提示处理
无连接时说明该客服可以往下操作
标记当前客服为在线状态并记录Redis
读取当前客服所接待的用户
逐一加入相对应的Socket.io - Room中
读取当前是否有在线且未接待的用户
接待用户
修改该用户在SQL对应的客服Id及Redis对应的客服Id
加入相对应的Socket.io - Room中
将所有接待的用户存储至Redis中
遍历每一个接待用户
读取用户Redis的聊天消息记录是否为数据库读取
来自数据库数据
非来自数据库数据
读取数据库中该用户下的聊天消息记录
将聊天消息记录保存至Redis中
读取用户在当前商家下的最后一条聊天信息
读取每一个接待用户的未读数
通知客服客户端绑定显示接待用户信息
处理返回
返回客服信息
离线处理
读取该商家下是否有其他客服在线
无其他客服在线
退出登录
改变客服SQL在线状态,移除Redis当前在线客服对象
有其他客服在线
读取目前正在接待且在线的用户
是否有在线用户
无在线用户
有在线用户
遍历用户(集)
找到当前接待人数最少的客服
转移用户到被接待的客服下
移除该客服所接待的用户
改变转移用户在SQL的客服Id
改变客服SQL在线状态,移除Redis当前在线客服对象
聊天界面
用户列表
全部用户(展示)
收藏用户(展示)
今日接待用户(展示)
选择用户
标记用户选中状态
将用户发送的未读数清空
Server:读取用户的聊天记录
说明:实时对用户发送的消息和消息数进行更新
发送消息
选择某个用户
未选择
不可发送信息
已选择
可发送消息
收藏
未收藏
收藏标识为空心符
已收藏
收藏标识为实心符
黑名单
收到消息
是否已选择用户
未选择
收到消息对应的用户赋值最后一条聊天信息且未读数加1
不追加消息记录
将用户按照最新时间进行倒序
已选择
非当前选择
当前选择
追加消息记录且不累计未读数
快捷回复
自动回复
用户当天第一次发送消息自动回复
收到用户发送消息时
请求后台处理
读取当前客服是否设置【用户当天第一次发送】自动回复
无设置/无开启
返回值,不作回复
已设置/开启
读取该用户的聊天消息记录
筛选当前商家下的消息
读取当天下商家下客服是否有回复
有回复
返回值,不作回复
无回复
返回回复值,且回复
客服忙碌时自动回复
收到用户发送消息
客服当前为忙碌状态时
请求后台处理
读取当前客服是否设置【忙碌】自动回复
无设置/无开启
返回值,不作回复
已设置/开启
返回回复值,且回复
用户发送【好的/谢谢】自动回复
收到用户发送消息
消息内容包含【好的/谢谢】时
请求后台处理
读取当前客服是否设置【好的/谢谢】自动回复
无设置/无开启
返回值,不作回复
已设置/开启
返回回复值,且回复
用户等待过久自动回复
用户端处理
0 条评论
下一页