mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-10 11:26:50 +08:00
fix: 完善错误信息提示的处理方式
This commit is contained in:
@@ -122,7 +122,7 @@ public class CaseAiChatServiceImpl implements ICaseAiChatService {
|
|||||||
conversationId = getOrCreateConversationId(caseAiChatDto, currentUser);
|
conversationId = getOrCreateConversationId(caseAiChatDto, currentUser);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("获取会话ID失败", e);
|
log.error("获取会话ID失败", e);
|
||||||
errMessage(sseEmitter, SYS_ERR_MSG);
|
errMessage(sseEmitter, null, SYS_ERR_MSG);
|
||||||
sseEmitter.complete();
|
sseEmitter.complete();
|
||||||
return sseEmitter;
|
return sseEmitter;
|
||||||
}
|
}
|
||||||
@@ -170,7 +170,7 @@ public class CaseAiChatServiceImpl implements ICaseAiChatService {
|
|||||||
try {
|
try {
|
||||||
accessToken = aiAccessTokenService.getAccessToken();
|
accessToken = aiAccessTokenService.getAccessToken();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(accessToken)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(accessToken)) {
|
||||||
errMessage(sseEmitter, SYS_ERR_MSG);
|
errMessage(sseEmitter, conversationId, SYS_ERR_MSG);
|
||||||
sseEmitter.complete();
|
sseEmitter.complete();
|
||||||
conversationData.appendAnswer(SYS_ERR_MSG);
|
conversationData.appendAnswer(SYS_ERR_MSG);
|
||||||
elasticSearchIndexService.createData(conversationData);
|
elasticSearchIndexService.createData(conversationData);
|
||||||
@@ -178,7 +178,7 @@ public class CaseAiChatServiceImpl implements ICaseAiChatService {
|
|||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("获取access_token失败", e);
|
log.error("获取access_token失败", e);
|
||||||
errMessage(sseEmitter, SYS_ERR_MSG);
|
errMessage(sseEmitter, conversationId, SYS_ERR_MSG);
|
||||||
conversationData.appendAnswer(SYS_ERR_MSG);
|
conversationData.appendAnswer(SYS_ERR_MSG);
|
||||||
elasticSearchIndexService.createData(conversationData);
|
elasticSearchIndexService.createData(conversationData);
|
||||||
sseEmitter.complete();
|
sseEmitter.complete();
|
||||||
@@ -245,7 +245,7 @@ public class CaseAiChatServiceImpl implements ICaseAiChatService {
|
|||||||
} else {
|
} else {
|
||||||
// 异常问题,取message内容
|
// 异常问题,取message内容
|
||||||
String message = jsonData.getString("message");
|
String message = jsonData.getString("message");
|
||||||
errMessage(sseEmitter, message);
|
errMessage(sseEmitter, conversationId, message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -274,7 +274,7 @@ public class CaseAiChatServiceImpl implements ICaseAiChatService {
|
|||||||
log.error("调用接口 [{}] 接口异常", request.url(), e);
|
log.error("调用接口 [{}] 接口异常", request.url(), e);
|
||||||
if (isTimeoutException(e)) {
|
if (isTimeoutException(e)) {
|
||||||
log.warn("接口调用超时,conversationId: {}", conversationId);
|
log.warn("接口调用超时,conversationId: {}", conversationId);
|
||||||
errMessage(sseEmitter, SYS_ERR_MSG);
|
errMessage(sseEmitter, conversationId, SYS_ERR_MSG);
|
||||||
sseEmitter.complete();
|
sseEmitter.complete();
|
||||||
// 从Map中移除失败的会话
|
// 从Map中移除失败的会话
|
||||||
conversationEventSourceMap.remove(conversationId);
|
conversationEventSourceMap.remove(conversationId);
|
||||||
@@ -690,12 +690,23 @@ public class CaseAiChatServiceImpl implements ICaseAiChatService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void errMessage(SseEmitter sseEmitter, String message) {
|
private void errMessage(SseEmitter sseEmitter, String conversationId, String message) {
|
||||||
|
JSONObject conversationData = new JSONObject();
|
||||||
|
conversationData.put("conversationId", conversationId);
|
||||||
|
conversationData.put("content", "");
|
||||||
|
conversationData.put("status", 0);
|
||||||
|
|
||||||
JSONObject jsonData = new JSONObject();
|
JSONObject jsonData = new JSONObject();
|
||||||
jsonData.put("status", 1);
|
jsonData.put("status", 1);
|
||||||
jsonData.put("content", message);
|
jsonData.put("content", message);
|
||||||
|
|
||||||
|
JSONObject finishData = new JSONObject();
|
||||||
|
jsonData.put("status", 4);
|
||||||
|
jsonData.put("content", "");
|
||||||
try {
|
try {
|
||||||
|
sseEmitter.send(conversationData.toJSONString());
|
||||||
sseEmitter.send(jsonData.toJSONString());
|
sseEmitter.send(jsonData.toJSONString());
|
||||||
|
sseEmitter.send(finishData.toJSONString());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("发送错误信息异常", e);
|
log.error("发送错误信息异常", e);
|
||||||
sseEmitter.completeWithError(e);
|
sseEmitter.completeWithError(e);
|
||||||
|
|||||||
Reference in New Issue
Block a user