mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
#75 优化机器人客服接入
This commit is contained in:
parent
197019f0c7
commit
9114bf95e8
@ -582,7 +582,7 @@ public class ApiChatbotController extends Handler {
|
||||
}
|
||||
} catch (ChatbotAPIRuntimeException e) {
|
||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
||||
resp.addProperty(RestUtils.RESP_KEY_ERROR, "智能问答引擎服务异常。" + e.toString());
|
||||
resp.addProperty(RestUtils.RESP_KEY_ERROR, "智能问答引擎服务异常,该机器人【chatbotID】已经存在或服务不能访问到,请联系 [info@chatopera.com] 获得支持。");
|
||||
return resp;
|
||||
} catch (MalformedURLException e) {
|
||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_4);
|
||||
|
@ -80,21 +80,35 @@ public class ChatbotEventHandler {
|
||||
* 加入到 缓存列表
|
||||
*/
|
||||
NettyClients.getInstance().putChatbotEventClient(user, client);
|
||||
MessageOutContent outMessage = new MessageOutContent();
|
||||
CousultInvite invite = OnlineUserUtils.cousult(appid, orgi, MainContext.getContext().getBean(ConsultInviteRepository.class));
|
||||
|
||||
// send out tip
|
||||
MessageOutContent tip = new MessageOutContent();
|
||||
tip.setMessage("您正在使用机器人客服!");
|
||||
tip.setMessageType(MainContext.MessageTypeEnum.MESSAGE.toString());
|
||||
tip.setCalltype(MainContext.CallTypeEnum.IN.toString());
|
||||
tip.setNickName(invite.getAiname());
|
||||
tip.setCreatetime(MainUtils.dateFormate.format(now));
|
||||
|
||||
client.sendEvent(MainContext.MessageTypeEnum.STATUS.toString(), tip);
|
||||
|
||||
// send out welcome message
|
||||
if (invite != null && StringUtils.isNotBlank(invite.getAisuccesstip())) {
|
||||
outMessage.setMessage(invite.getAisuccesstip());
|
||||
} else {
|
||||
outMessage.setMessage("欢迎使用华夏春松机器人客服!");
|
||||
ChatMessage welcome = new ChatMessage();
|
||||
welcome.setCalltype(MainContext.CallTypeEnum.OUT.toString());
|
||||
welcome.setAppid(appid);
|
||||
welcome.setOrgi(orgi);
|
||||
welcome.setAiid(aiid);
|
||||
welcome.setMessage(invite.getAisuccesstip());
|
||||
welcome.setTouser(user);
|
||||
welcome.setTousername(nickname);
|
||||
welcome.setMsgtype(MainContext.MessageTypeEnum.MESSAGE.toString());
|
||||
welcome.setUserid(user);
|
||||
welcome.setUsername(invite.getAiname());
|
||||
welcome.setUpdatetime(System.currentTimeMillis());
|
||||
client.sendEvent(MainContext.MessageTypeEnum.MESSAGE.toString(), welcome);
|
||||
}
|
||||
|
||||
outMessage.setMessageType(MainContext.MessageTypeEnum.MESSAGE.toString());
|
||||
outMessage.setCalltype(MainContext.CallTypeEnum.IN.toString());
|
||||
outMessage.setNickName(invite.getAiname());
|
||||
outMessage.setCreatetime(MainUtils.dateFormate.format(now));
|
||||
|
||||
client.sendEvent(MainContext.MessageTypeEnum.STATUS.toString(), outMessage);
|
||||
|
||||
InetSocketAddress address = (InetSocketAddress) client.getRemoteAddress();
|
||||
String ip = MainUtils.getIpAddr(client.getHandshakeData().getHttpHeaders(), address.getHostString());
|
||||
OnlineUser onlineUser = getOnlineUserRes().findOne(user);
|
||||
|
@ -123,7 +123,7 @@
|
||||
if (data.rc == 0) {
|
||||
cb(null, data.data);
|
||||
} else {
|
||||
cb(data.data);
|
||||
cb(data);
|
||||
}
|
||||
})
|
||||
.fail(function (jqXHR, textStatus) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user