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