mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
#171 fix docker container startup error
This commit is contained in:
parent
99e9272f17
commit
49cf897589
@ -1,4 +1,4 @@
|
|||||||
FROM tomcat:8.5.35-slim
|
FROM chatopera/java:1.0.0
|
||||||
MAINTAINER Hai Liang Wang <hain@chatopera.com>
|
MAINTAINER Hai Liang Wang <hain@chatopera.com>
|
||||||
|
|
||||||
ARG VCS_REF
|
ARG VCS_REF
|
||||||
@ -20,12 +20,20 @@ ENV LANG C.UTF-8
|
|||||||
ENV LANGUAGE en_US:en
|
ENV LANGUAGE en_US:en
|
||||||
ENV LC_ALL C.UTF-8
|
ENV LC_ALL C.UTF-8
|
||||||
|
|
||||||
|
# set ENVs
|
||||||
|
ENV JAVA_HOME=/opt/java-8-oracle
|
||||||
|
ENV TOMCAT_HOME=/opt/apache-tomcat
|
||||||
|
ENV PATH=$PATH:$JAVA_HOME/bin
|
||||||
|
|
||||||
# create dirs
|
# create dirs
|
||||||
RUN /bin/bash -c "mkdir -p /{data,logs}"
|
RUN /bin/bash -c "mkdir -p /{data,logs}"
|
||||||
|
|
||||||
# copy WAR
|
# build WAR
|
||||||
RUN rm -rf /usr/local/tomcat/webapps/*
|
RUN rm -rf /opt/apache-tomcat/webapps/ROOT*
|
||||||
COPY ./app/target/contact-center-3.9.0.war.original /usr/local/tomcat/webapps/ROOT.war
|
COPY ./app/target/contact-center-*.war.original /opt/apache-tomcat/webapps/ROOT.war
|
||||||
COPY ./config/tomcat.context.xml /usr/local/tomcat/conf/context.xml
|
|
||||||
|
|
||||||
EXPOSE 8030-8090 9200 9300
|
# clean files
|
||||||
|
RUN rm -rf /root/.m2
|
||||||
|
|
||||||
|
EXPOSE 8030-8090 9200 9300
|
||||||
|
CMD ["/opt/apache-tomcat/bin/catalina.sh", "run"]
|
@ -16,13 +16,13 @@
|
|||||||
package com.chatopera.cc.app.handler.api.rest;
|
package com.chatopera.cc.app.handler.api.rest;
|
||||||
|
|
||||||
import com.chatopera.bot.exception.ChatbotException;
|
import com.chatopera.bot.exception.ChatbotException;
|
||||||
import com.chatopera.cc.app.basic.MainContext;
|
|
||||||
import com.chatopera.cc.app.basic.MainUtils;
|
import com.chatopera.cc.app.basic.MainUtils;
|
||||||
import com.chatopera.cc.app.handler.Handler;
|
import com.chatopera.cc.app.handler.Handler;
|
||||||
import com.chatopera.cc.app.handler.api.request.RestUtils;
|
import com.chatopera.cc.app.handler.api.request.RestUtils;
|
||||||
import com.chatopera.cc.app.im.util.ChatbotUtils;
|
import com.chatopera.cc.app.im.util.ChatbotUtils;
|
||||||
import com.chatopera.cc.app.model.*;
|
import com.chatopera.cc.app.model.*;
|
||||||
import com.chatopera.cc.app.persistence.repository.*;
|
import com.chatopera.cc.app.persistence.repository.*;
|
||||||
|
import com.chatopera.cc.concurrent.chatbot.ChatbotEventHandler;
|
||||||
import com.chatopera.cc.exception.CallOutRecordException;
|
import com.chatopera.cc.exception.CallOutRecordException;
|
||||||
import com.chatopera.cc.util.Menu;
|
import com.chatopera.cc.util.Menu;
|
||||||
import com.chatopera.cc.util.OnlineUserUtils;
|
import com.chatopera.cc.util.OnlineUserUtils;
|
||||||
@ -185,7 +185,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(c.getClientId(), c.getSecret());
|
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(c.getClientId(), c.getSecret(), ChatbotEventHandler.getChatbotServiceUrl());
|
||||||
if (bot.exists()) {
|
if (bot.exists()) {
|
||||||
c.setEnabled(isEnabled);
|
c.setEnabled(isEnabled);
|
||||||
chatbotRes.save(c);
|
chatbotRes.save(c);
|
||||||
@ -206,6 +206,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(RestUtils.RESP_KEY_DATA, "设置不成功,智能问答引擎地址不合法。");
|
resp.addProperty(RestUtils.RESP_KEY_DATA, "设置不成功,智能问答引擎地址不合法。");
|
||||||
} catch (ChatbotException e) {
|
} catch (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, "设置不成功,智能问答引擎服务异常。");
|
||||||
}
|
}
|
||||||
@ -267,7 +268,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(c.getClientId(), c.getSecret());
|
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(c.getClientId(), c.getSecret(), ChatbotEventHandler.getChatbotServiceUrl());
|
||||||
if (bot.exists()) {
|
if (bot.exists()) {
|
||||||
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_SUCC);
|
resp.addProperty(RestUtils.RESP_KEY_RC, RestUtils.RESP_RC_SUCC);
|
||||||
resp.addProperty(RestUtils.RESP_KEY_DATA, "更新成功。");
|
resp.addProperty(RestUtils.RESP_KEY_DATA, "更新成功。");
|
||||||
@ -484,7 +485,8 @@ public class ApiChatbotController extends Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(clientId, secret, getBotBaseUrl());
|
logger.info("create bot with url {}", ChatbotEventHandler.getChatbotServiceUrl());
|
||||||
|
com.chatopera.bot.sdk.Chatbot bot = new com.chatopera.bot.sdk.Chatbot(clientId, secret, ChatbotEventHandler.getChatbotServiceUrl());
|
||||||
|
|
||||||
if (bot.exists()) { // 该机器人存在,clientId 和 Secret配对成功
|
if (bot.exists()) { // 该机器人存在,clientId 和 Secret配对成功
|
||||||
// 创建成功
|
// 创建成功
|
||||||
@ -493,7 +495,7 @@ public class ApiChatbotController extends Handler {
|
|||||||
c.setId(MainUtils.getUUID());
|
c.setId(MainUtils.getUUID());
|
||||||
c.setClientId(clientId);
|
c.setClientId(clientId);
|
||||||
c.setSecret(secret);
|
c.setSecret(secret);
|
||||||
c.setBaseUrl(getBotBaseUrl());
|
c.setBaseUrl(ChatbotEventHandler.getChatbotServiceUrl());
|
||||||
c.setDescription(botDetails.getJSONObject("data").getString("description"));
|
c.setDescription(botDetails.getJSONObject("data").getString("description"));
|
||||||
c.setFallback(botDetails.getJSONObject("data").getString("fallback"));
|
c.setFallback(botDetails.getJSONObject("data").getString("fallback"));
|
||||||
c.setPrimaryLanguage(botDetails.getJSONObject("data").getString("primaryLanguage"));
|
c.setPrimaryLanguage(botDetails.getJSONObject("data").getString("primaryLanguage"));
|
||||||
@ -547,11 +549,4 @@ public class ApiChatbotController extends Handler {
|
|||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getBotBaseUrl(){
|
|
||||||
if(this.botBaseUrl == null)
|
|
||||||
this.botBaseUrl = MainContext.getContext().getEnvironment().getProperty("chatopera.bot.url");
|
|
||||||
return this.botBaseUrl;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ public class ChatbotEventHandler implements EventHandler<UserDataEvent> {
|
|||||||
|
|
||||||
private ChatbotRepository chatbotRes;
|
private ChatbotRepository chatbotRes;
|
||||||
private AgentUserRepository agentUserRes;
|
private AgentUserRepository agentUserRes;
|
||||||
private String botServiceUrl;
|
private static String botServiceUrl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据聊天机器人返回数据更新agentUser
|
* 根据聊天机器人返回数据更新agentUser
|
||||||
@ -140,11 +140,10 @@ public class ChatbotEventHandler implements EventHandler<UserDataEvent> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String getChatbotServiceUrl() {
|
public static String getChatbotServiceUrl() {
|
||||||
if (botServiceUrl == null) {
|
if (botServiceUrl == null) {
|
||||||
botServiceUrl = MainContext.getContext().getEnvironment().getProperty("chatopera.bot.url");
|
botServiceUrl = MainContext.getContext().getEnvironment().getProperty("chatopera.bot.url");
|
||||||
}
|
}
|
||||||
return botServiceUrl;
|
return botServiceUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user