mirror of
https://github.com/chatopera/cosin.git
synced 2025-06-25 02:47:10 +08:00
Closed https://github.com/chatopera/cskefu/issues/712 enhance notify msg for chatbot agent response
This commit is contained in:
parent
032bf67a48
commit
1af9229768
@ -79,8 +79,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ConsultInviteRepository consultInviteRes;
|
private ConsultInviteRepository consultInviteRes;
|
||||||
|
|
||||||
private final static String botServiceProvider = SystemEnvHelper.getenv(
|
private final static String botServiceProvider = SystemEnvHelper.getenv(ChatbotConstants.BOT_PROVIDER, ChatbotConstants.DEFAULT_BOT_PROVIDER);
|
||||||
ChatbotConstants.BOT_PROVIDER, ChatbotConstants.DEFAULT_BOT_PROVIDER);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 聊天机器人
|
* 聊天机器人
|
||||||
@ -114,8 +113,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
json = delete(j, logined.getId(), logined.getOrgi());
|
json = delete(j, logined.getId(), logined.getOrgi());
|
||||||
break;
|
break;
|
||||||
case "fetch":
|
case "fetch":
|
||||||
json = fetch(
|
json = fetch(j, logined.getId(), logined.isAdmin(), orgi, super.getP(request), super.getPs(request));
|
||||||
j, logined.getId(), logined.isAdmin(), orgi, super.getP(request), super.getPs(request));
|
|
||||||
break;
|
break;
|
||||||
case "update":
|
case "update":
|
||||||
json = update(j);
|
json = update(j);
|
||||||
@ -204,8 +202,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(
|
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(c.getClientId(), c.getSecret(), botServiceProvider);
|
||||||
c.getClientId(), c.getSecret(), botServiceProvider);
|
|
||||||
if (bot.exists()) {
|
if (bot.exists()) {
|
||||||
c.setEnabled(isEnabled);
|
c.setEnabled(isEnabled);
|
||||||
chatbotRes.save(c);
|
chatbotRes.save(c);
|
||||||
@ -344,8 +341,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
logger.info("[update] BOT_PROVIDER {}", botServiceProvider);
|
logger.info("[update] BOT_PROVIDER {}", botServiceProvider);
|
||||||
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(
|
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(c.getClientId(), c.getSecret(), botServiceProvider);
|
||||||
c.getClientId(), c.getSecret(), botServiceProvider);
|
|
||||||
|
|
||||||
Response result = bot.command("GET", "/");
|
Response result = bot.command("GET", "/");
|
||||||
logger.info("[update] bot details response", result.toJSON().toString());
|
logger.info("[update] bot details response", result.toJSON().toString());
|
||||||
@ -365,20 +361,20 @@ public class ApiChatbotController extends Handler {
|
|||||||
invite.setAiname(c.getName());
|
invite.setAiname(c.getName());
|
||||||
}
|
}
|
||||||
c.setName(botDetails.getString("name"));
|
c.setName(botDetails.getString("name"));
|
||||||
|
} else if (result.getRc() == 999 || result.getRc() == 998) {
|
||||||
|
logger.error("[chat] chatbot agent response rc {}, error {}", result.getRc(), result.getError());
|
||||||
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_6);
|
||||||
|
resp.addProperty(RestUtils.RESP_KEY_ERROR, result.getError());
|
||||||
|
return resp;
|
||||||
} else {
|
} else {
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_6);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_6);
|
||||||
resp.addProperty(
|
resp.addProperty(RestUtils.RESP_KEY_ERROR, "Chatopera 云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。提示:该机器人不存在,请先创建机器人, 登录 https://bot.chatopera.com");
|
||||||
RestUtils.RESP_KEY_ERROR,
|
|
||||||
"Chatopera 云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。提示:该机器人不存在,请先创建机器人, 登录 https://bot.chatopera.com");
|
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
} catch (ChatbotException e) {
|
} catch (ChatbotException e) {
|
||||||
logger.error("bot create error", e);
|
logger.error("bot create error", e);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
||||||
resp.addProperty(
|
resp.addProperty(RestUtils.RESP_KEY_ERROR, "Chatopera 云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。");
|
||||||
RestUtils.RESP_KEY_ERROR,
|
|
||||||
"Chatopera 云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。");
|
|
||||||
return resp;
|
return resp;
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
logger.error("bot request error", e);
|
logger.error("bot request error", e);
|
||||||
@ -414,8 +410,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
Page<Chatbot> records = chatbotRes.findWithPagination(
|
Page<Chatbot> records = chatbotRes.findWithPagination(new PageRequest(p, ps, Sort.Direction.DESC, "createtime"));
|
||||||
new PageRequest(p, ps, Sort.Direction.DESC, "createtime"));
|
|
||||||
|
|
||||||
JsonArray ja = new JsonArray();
|
JsonArray ja = new JsonArray();
|
||||||
for (Chatbot c : records) {
|
for (Chatbot c : records) {
|
||||||
@ -631,19 +626,21 @@ public class ApiChatbotController extends Handler {
|
|||||||
resp.add(RestUtils.RESP_KEY_DATA, data);
|
resp.add(RestUtils.RESP_KEY_DATA, data);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_SUCC);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_SUCC);
|
||||||
return resp;
|
return resp;
|
||||||
|
} else if (result.getRc() == 999 || result.getRc() == 998) {
|
||||||
|
logger.error("[chat] chatbot agent response rc {}, error {}", result.getRc(), result.getError());
|
||||||
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_6);
|
||||||
|
resp.addProperty(RestUtils.RESP_KEY_ERROR, result.getError());
|
||||||
|
return resp;
|
||||||
} else {
|
} else {
|
||||||
// 创建失败
|
// 创建失败
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_6);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_6);
|
||||||
resp.addProperty(
|
resp.addProperty(RestUtils.RESP_KEY_ERROR, "Chatopera 云服务:该机器人不存在,请先创建机器人, 登录 https://bot.chatopera.com");
|
||||||
RestUtils.RESP_KEY_ERROR, "Chatopera 云服务:该机器人不存在,请先创建机器人, 登录 https://bot.chatopera.com");
|
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
} catch (ChatbotException e) {
|
} catch (ChatbotException e) {
|
||||||
logger.error("bot create error", e);
|
logger.error("bot create error", e);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
||||||
resp.addProperty(
|
resp.addProperty(RestUtils.RESP_KEY_ERROR, "Chatopera 云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。");
|
||||||
RestUtils.RESP_KEY_ERROR,
|
|
||||||
"Chatopera 云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。");
|
|
||||||
return resp;
|
return resp;
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
logger.error("bot request error", e);
|
logger.error("bot request error", e);
|
||||||
@ -674,15 +671,9 @@ public class ApiChatbotController extends Handler {
|
|||||||
String textMessage = j.get("textMessage").getAsString();
|
String textMessage = j.get("textMessage").getAsString();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(
|
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(c.getClientId(), c.getSecret(), botServiceProvider);
|
||||||
c.getClientId(), c.getSecret(), botServiceProvider);
|
|
||||||
|
|
||||||
JSONObject result = bot.faq(
|
JSONObject result = bot.faq(userId, textMessage, Double.parseDouble(SystemEnvHelper.getenv(ChatbotConstants.THRESHOLD_FAQ_BEST_REPLY, "0.8")), Double.parseDouble(SystemEnvHelper.getenv(ChatbotConstants.THRESHOLD_FAQ_SUGG_REPLY, "0.6")));
|
||||||
userId,
|
|
||||||
textMessage,
|
|
||||||
Double.parseDouble(SystemEnvHelper.getenv(ChatbotConstants.THRESHOLD_FAQ_BEST_REPLY, "0.8")),
|
|
||||||
Double.parseDouble(SystemEnvHelper.getenv(ChatbotConstants.THRESHOLD_FAQ_SUGG_REPLY, "0.6"))
|
|
||||||
);
|
|
||||||
if (result.getInt("rc") == 0) {
|
if (result.getInt("rc") == 0) {
|
||||||
JsonParser jsonParser = new JsonParser();
|
JsonParser jsonParser = new JsonParser();
|
||||||
JsonElement data = jsonParser.parse(result.getJSONArray("data").toString());
|
JsonElement data = jsonParser.parse(result.getJSONArray("data").toString());
|
||||||
@ -693,12 +684,10 @@ public class ApiChatbotController extends Handler {
|
|||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_DATA, "查询不成功,智能问答引擎服务异常。");
|
resp.addProperty(RestUtils.RESP_KEY_DATA, "查询不成功,智能问答引擎服务异常。");
|
||||||
}
|
}
|
||||||
} catch (
|
} catch (MalformedURLException e) {
|
||||||
MalformedURLException e) {
|
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_6);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_6);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_DATA, "查询不成功,智能问答引擎地址不合法。");
|
resp.addProperty(RestUtils.RESP_KEY_DATA, "查询不成功,智能问答引擎地址不合法。");
|
||||||
} catch (
|
} catch (ChatbotException e) {
|
||||||
ChatbotException e) {
|
|
||||||
|
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_5);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_DATA, "查询不成功,智能问答引擎服务异常。");
|
resp.addProperty(RestUtils.RESP_KEY_DATA, "查询不成功,智能问答引擎服务异常。");
|
||||||
|
@ -153,6 +153,10 @@ public class ChatbotEventHandler {
|
|||||||
client.sendEvent(MainContext.MessageType.MESSAGE.toString(), faqhotmsg);
|
client.sendEvent(MainContext.MessageType.MESSAGE.toString(), faqhotmsg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (result.getRc() == 999 || result.getRc() == 998) {
|
||||||
|
logger.error("[chat] chatbot agent response rc {}, error {}", result.getRc(), result.getError());
|
||||||
|
} else {
|
||||||
|
logger.error("[chat] chatbot agent response rc {}, error {}", result.getRc(), result.getError());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,7 +242,7 @@ public class ChatbotEventSubscription {
|
|||||||
sugg.put("type", "qlist");
|
sugg.put("type", "qlist");
|
||||||
suggs.put(sugg);
|
suggs.put(sugg);
|
||||||
// set the maximum suggest list as only seven items
|
// set the maximum suggest list as only seven items
|
||||||
if(i == 6){
|
if (i == 6) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -310,9 +310,13 @@ public class ChatbotEventSubscription {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (result.getRc() == 999 || result.getRc() == 998) {
|
||||||
|
logger.error("[chat] chatbot agent response rc {}, error {}", result.getRc(), result.getError());
|
||||||
|
} else {
|
||||||
|
logger.error("[chat] chatbot agent response rc {}, error {}", result.getRc(), result.getError());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.warn("[chat] can not get expected response rc {}, error {}", result.getRc(), result.getError());
|
logger.warn("[chat] can not get expected response ", result.toJSON().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,7 +383,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.chatopera.bot</groupId>
|
<groupId>com.chatopera.bot</groupId>
|
||||||
<artifactId>sdk</artifactId>
|
<artifactId>sdk</artifactId>
|
||||||
<version>3.5.0</version>
|
<version>3.5.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Required for Java 11 https://github.com/chatopera/cskefu/issues/714 -->
|
<!-- Required for Java 11 https://github.com/chatopera/cskefu/issues/714 -->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user