mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
https://github.com/chatopera/cskefu/issues/384 update codes for cskefu.com
This commit is contained in:
parent
88b1b92c89
commit
830d5760f3
@ -1,5 +1,5 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.chatopera.cc</groupId>
|
<groupId>com.chatopera.cc</groupId>
|
||||||
<artifactId>contact-center</artifactId>
|
<artifactId>contact-center</artifactId>
|
||||||
@ -17,17 +17,17 @@
|
|||||||
<build>
|
<build>
|
||||||
<finalName>contact-center</finalName>
|
<finalName>contact-center</finalName>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>repackage</goal>
|
<goal>repackage</goal>
|
||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
@ -118,7 +118,7 @@
|
|||||||
<repository>
|
<repository>
|
||||||
<id>chatopera</id>
|
<id>chatopera</id>
|
||||||
<name>Chatopera Inc.</name>
|
<name>Chatopera Inc.</name>
|
||||||
<url>https://nexus.chatopera.com/repository/maven-public/</url>
|
<url>https://nexus.cskefu.com/repository/maven-public/</url>
|
||||||
<releases>
|
<releases>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
</releases>
|
</releases>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.chatopera.cc</groupId>
|
<groupId>com.chatopera.cc</groupId>
|
||||||
<artifactId>cc-root</artifactId>
|
<artifactId>cc-root</artifactId>
|
||||||
@ -245,11 +245,11 @@
|
|||||||
<version>2.6.0</version>
|
<version>2.6.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
|
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
<version>25.1-jre</version>
|
<version>25.1-jre</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
|
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.code.gson</groupId>
|
<groupId>com.google.code.gson</groupId>
|
||||||
@ -379,14 +379,14 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.chatopera.bot</groupId>
|
<groupId>com.chatopera.bot</groupId>
|
||||||
<artifactId>sdk</artifactId>
|
<artifactId>sdk</artifactId>
|
||||||
<version>3.1.0</version>
|
<version>3.3.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>chatopera</id>
|
<id>chatopera</id>
|
||||||
<name>Chatopera Inc.</name>
|
<name>Chatopera Inc.</name>
|
||||||
<url>https://nexus.chatopera.com/repository/maven-public</url>
|
<url>https://nexus.cskefu.com/repository/maven-public</url>
|
||||||
<releases>
|
<releases>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
</releases>
|
</releases>
|
||||||
@ -400,12 +400,12 @@
|
|||||||
<repository>
|
<repository>
|
||||||
<id>chatopera-releases</id>
|
<id>chatopera-releases</id>
|
||||||
<name>Chatopera Nexus Releases</name>
|
<name>Chatopera Nexus Releases</name>
|
||||||
<url>https://nexus.chatopera.com/repository/maven-releases/</url>
|
<url>https://nexus.cskefu.com/repository/maven-releases/</url>
|
||||||
</repository>
|
</repository>
|
||||||
<snapshotRepository>
|
<snapshotRepository>
|
||||||
<id>chatopera-snapshots</id>
|
<id>chatopera-snapshots</id>
|
||||||
<name>Chatopera Nexus Snapshots</name>
|
<name>Chatopera Nexus Snapshots</name>
|
||||||
<url>https://nexus.chatopera.com/repository/maven-snapshots/</url>
|
<url>https://nexus.cskefu.com/repository/maven-snapshots/</url>
|
||||||
</snapshotRepository>
|
</snapshotRepository>
|
||||||
</distributionManagement>
|
</distributionManagement>
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
package com.chatopera.cc.plugins.chatbot;
|
package com.chatopera.cc.plugins.chatbot;
|
||||||
|
|
||||||
import com.chatopera.bot.exception.ChatbotException;
|
import com.chatopera.bot.exception.ChatbotException;
|
||||||
|
import com.chatopera.bot.sdk.Response;
|
||||||
import com.chatopera.cc.basic.Constants;
|
import com.chatopera.cc.basic.Constants;
|
||||||
import com.chatopera.cc.basic.MainUtils;
|
import com.chatopera.cc.basic.MainUtils;
|
||||||
import com.chatopera.cc.controller.Handler;
|
import com.chatopera.cc.controller.Handler;
|
||||||
@ -205,7 +206,9 @@ 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(), botServiecProvider);
|
c.getClientId(), c.getSecret(), botServiecProvider);
|
||||||
if (bot.exists()) {
|
Response result = bot.command("GET", "/");
|
||||||
|
|
||||||
|
if (result.getRc() == 0) {
|
||||||
c.setEnabled(isEnabled);
|
c.setEnabled(isEnabled);
|
||||||
chatbotRes.save(c);
|
chatbotRes.save(c);
|
||||||
|
|
||||||
@ -327,24 +330,28 @@ 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(), botServiecProvider);
|
c.getClientId(), c.getSecret(), botServiecProvider);
|
||||||
if (bot.exists()) {
|
|
||||||
|
Response result = bot.command("GET", "/");
|
||||||
|
logger.info("[update] bot details response {}", result.toJSON().toString());
|
||||||
|
|
||||||
|
if (result.getRc() == 0) {
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_SUCC);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_SUCC);
|
||||||
JsonObject data = new JsonObject();
|
JsonObject data = new JsonObject();
|
||||||
data.addProperty("id", c.getId());
|
data.addProperty("id", c.getId());
|
||||||
resp.add(RestUtils.RESP_KEY_DATA, data);
|
resp.add(RestUtils.RESP_KEY_DATA, data);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_MSG, "更新成功。");
|
resp.addProperty(RestUtils.RESP_KEY_MSG, "更新成功。");
|
||||||
JSONObject botDetails = bot.details();
|
JSONObject botDetails = (JSONObject) result.getData();
|
||||||
c.setDescription(botDetails.getJSONObject("data").getString("description"));
|
c.setDescription(botDetails.getString("description"));
|
||||||
c.setFallback(botDetails.getJSONObject("data").getString("fallback"));
|
c.setFallback(botDetails.getString("fallback"));
|
||||||
c.setWelcome(botDetails.getJSONObject("data").getString("welcome"));
|
c.setWelcome(botDetails.getString("welcome"));
|
||||||
invite.setAisuccesstip(botDetails.getJSONObject("data").getString("welcome"));
|
invite.setAisuccesstip(botDetails.getString("welcome"));
|
||||||
c.setName(botDetails.getJSONObject("data").getString("name"));
|
c.setName(botDetails.getString("name"));
|
||||||
invite.setAiname(c.getName());
|
invite.setAiname(c.getName());
|
||||||
} 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,
|
RestUtils.RESP_KEY_ERROR,
|
||||||
"Chatopera云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。提示:该机器人不存在,请先创建机器人, 登录 https://bot.chatopera.com");
|
"Chatopera 云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。提示:该机器人不存在,请先创建机器人, 登录 https://bot.chatopera.com");
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
} catch (ChatbotException e) {
|
} catch (ChatbotException e) {
|
||||||
@ -352,7 +359,7 @@ 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(
|
resp.addProperty(
|
||||||
RestUtils.RESP_KEY_ERROR,
|
RestUtils.RESP_KEY_ERROR,
|
||||||
"Chatopera云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。");
|
"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);
|
||||||
@ -541,22 +548,25 @@ public class ApiChatbotController extends Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
logger.info("create bot with url {}", botServiecProvider);
|
logger.info("[create] bot with url {}", botServiecProvider);
|
||||||
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(clientId, secret, botServiecProvider);
|
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(clientId, secret, botServiecProvider);
|
||||||
|
|
||||||
if (bot.exists()) { // 该机器人存在,clientId 和 Secret配对成功
|
Response result = bot.command("GET", "/");
|
||||||
|
logger.info("[create] bot details response {}", result.toJSON().toString());
|
||||||
|
|
||||||
|
if (result.getRc() == 0) { // 该机器人存在,clientId 和 Secret配对成功
|
||||||
// 创建成功
|
// 创建成功
|
||||||
Chatbot c = new Chatbot();
|
Chatbot c = new Chatbot();
|
||||||
JSONObject botDetails = bot.details();
|
JSONObject botDetails = (JSONObject) result.getData();
|
||||||
c.setId(MainUtils.getUUID());
|
c.setId(MainUtils.getUUID());
|
||||||
c.setClientId(clientId);
|
c.setClientId(clientId);
|
||||||
c.setSecret(secret);
|
c.setSecret(secret);
|
||||||
c.setBaseUrl(botServiecProvider);
|
c.setBaseUrl(botServiecProvider);
|
||||||
c.setDescription(botDetails.getJSONObject("data").getString("description"));
|
c.setDescription(botDetails.getString("description"));
|
||||||
c.setFallback(botDetails.getJSONObject("data").getString("fallback"));
|
c.setFallback(botDetails.getString("fallback"));
|
||||||
c.setPrimaryLanguage(botDetails.getJSONObject("data").getString("primaryLanguage"));
|
c.setPrimaryLanguage(botDetails.getString("primaryLanguage"));
|
||||||
c.setName(botDetails.getJSONObject("data").getString("name"));
|
c.setName(botDetails.getString("name"));
|
||||||
c.setWelcome(botDetails.getJSONObject("data").getString("welcome"));
|
c.setWelcome(botDetails.getString("welcome"));
|
||||||
c.setCreater(creater);
|
c.setCreater(creater);
|
||||||
c.setOrgi(orgi);
|
c.setOrgi(orgi);
|
||||||
c.setChannel(Constants.CHANNEL_TYPE_WEBIM);
|
c.setChannel(Constants.CHANNEL_TYPE_WEBIM);
|
||||||
@ -590,7 +600,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
// 创建失败
|
// 创建失败
|
||||||
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) {
|
||||||
@ -598,12 +608,12 @@ 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(
|
resp.addProperty(
|
||||||
RestUtils.RESP_KEY_ERROR,
|
RestUtils.RESP_KEY_ERROR,
|
||||||
"Chatopera云服务:无法访问该机器人,请确认【1】该服务器可以访问互联网,【2】该聊天机器人已经创建,【3】clientId和Secret正确设置。");
|
"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);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_4);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_FAIL_4);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_ERROR, "Chatopera云服务:不合法的聊天机器人服务URL。");
|
resp.addProperty(RestUtils.RESP_KEY_ERROR, "Chatopera 云服务:不合法的聊天机器人服务URL。");
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.chatopera.cc.plugins.chatbot;
|
package com.chatopera.cc.plugins.chatbot;
|
||||||
|
|
||||||
|
import com.chatopera.bot.sdk.Response;
|
||||||
import com.chatopera.cc.acd.ACDServiceRouter;
|
import com.chatopera.cc.acd.ACDServiceRouter;
|
||||||
import com.chatopera.cc.basic.Constants;
|
import com.chatopera.cc.basic.Constants;
|
||||||
import com.chatopera.cc.basic.MainContext;
|
import com.chatopera.cc.basic.MainContext;
|
||||||
@ -31,6 +32,7 @@ import com.chatopera.cc.socketio.message.Message;
|
|||||||
import com.chatopera.cc.socketio.util.IMServiceUtils;
|
import com.chatopera.cc.socketio.util.IMServiceUtils;
|
||||||
import com.chatopera.cc.util.IP;
|
import com.chatopera.cc.util.IP;
|
||||||
import com.chatopera.cc.util.IPTools;
|
import com.chatopera.cc.util.IPTools;
|
||||||
|
import com.chatopera.cc.util.SystemEnvHelper;
|
||||||
import com.corundumstudio.socketio.AckRequest;
|
import com.corundumstudio.socketio.AckRequest;
|
||||||
import com.corundumstudio.socketio.SocketIOClient;
|
import com.corundumstudio.socketio.SocketIOClient;
|
||||||
import com.corundumstudio.socketio.SocketIOServer;
|
import com.corundumstudio.socketio.SocketIOServer;
|
||||||
@ -56,6 +58,9 @@ public class ChatbotEventHandler {
|
|||||||
private static ChatbotRepository chatbotRes;
|
private static ChatbotRepository chatbotRes;
|
||||||
private static ChatbotProxy chatbotProxy;
|
private static ChatbotProxy chatbotProxy;
|
||||||
|
|
||||||
|
private final static String botServiecProvider = SystemEnvHelper.getenv(
|
||||||
|
ChatbotConstants.BOT_PROVIDER, ChatbotConstants.DEFAULT_BOT_PROVIDER);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public ChatbotEventHandler(SocketIOServer server) {
|
public ChatbotEventHandler(SocketIOServer server) {
|
||||||
this.server = server;
|
this.server = server;
|
||||||
@ -107,14 +112,15 @@ public class ChatbotEventHandler {
|
|||||||
if (invite != null) {
|
if (invite != null) {
|
||||||
Chatbot chatbot = getChatbotRes().findOne(invite.getAiid());
|
Chatbot chatbot = getChatbotRes().findOne(invite.getAiid());
|
||||||
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(
|
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(
|
||||||
chatbot.getClientId(), chatbot.getSecret(), chatbot.getBaseUrl());
|
chatbot.getClientId(), chatbot.getSecret(), botServiecProvider);
|
||||||
JSONObject details = bot.details();
|
|
||||||
|
Response result = bot.command("GET", "/");
|
||||||
|
|
||||||
// 发送欢迎语
|
// 发送欢迎语
|
||||||
if (details.has("rc") &&
|
if (result.getRc() == 0) {
|
||||||
details.getInt("rc") == 0) {
|
|
||||||
ChatMessage welcome = new ChatMessage();
|
ChatMessage welcome = new ChatMessage();
|
||||||
String welcomeTextMessage = details.getJSONObject("data").getString("welcome");
|
JSONObject details = (JSONObject) result.getData();
|
||||||
|
String welcomeTextMessage = details.getString("welcome");
|
||||||
if (StringUtils.isNotBlank(welcomeTextMessage)) {
|
if (StringUtils.isNotBlank(welcomeTextMessage)) {
|
||||||
welcome.setCalltype(MainContext.CallType.OUT.toString());
|
welcome.setCalltype(MainContext.CallType.OUT.toString());
|
||||||
welcome.setAppid(appid);
|
welcome.setAppid(appid);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user