1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

#75 优化机器人客服接入

This commit is contained in:
Hai Liang Wang 2018-10-18 22:33:19 +08:00
parent 197019f0c7
commit 9114bf95e8
3 changed files with 27 additions and 13 deletions

View File

@ -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);

View File

@ -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);

View File

@ -123,7 +123,7 @@
if (data.rc == 0) {
cb(null, data.data);
} else {
cb(data.data);
cb(data);
}
})
.fail(function (jqXHR, textStatus) {