diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/properties/CaseAiProperties.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/properties/CaseAiProperties.java index 4802f813..c9bbea4e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/properties/CaseAiProperties.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/properties/CaseAiProperties.java @@ -48,6 +48,11 @@ public class CaseAiProperties { */ private String defaultUploadUser; + /** + * 案例详情页面地址 + */ + private String caseDetailUrlBase; + /** * 文件上传是否使用回调接口 */ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CaseKnowledgeServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CaseKnowledgeServiceImpl.java index 71fb877f..a0c51f9c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CaseKnowledgeServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CaseKnowledgeServiceImpl.java @@ -155,11 +155,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService { requestBody.put("fileType", fileType); builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN); - String url = fileUploader.getHttpPath() + cases.getFilePath(); + String url = caseAiProperties.getCaseDetailUrlBase() + caseId; requestBody.put("url", url); - requestBody.put("downloadUrl", url); + String downloadUrl = fileUploader.getHttpPath() + cases.getFilePath(); + requestBody.put("downloadUrl", downloadUrl); builder.addTextBody("url", url, ContentType.TEXT_PLAIN); - builder.addTextBody("downloadUrl", url, ContentType.TEXT_PLAIN); + builder.addTextBody("downloadUrl", downloadUrl, ContentType.TEXT_PLAIN); // metadata JSONObject fileMetaData = new JSONObject(); fileMetaData.put("标题", cases.getTitle()); @@ -491,11 +492,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService { requestBody.put("fileType", fileType); builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN); - String url = fileUploader.getHttpPath() + cases.getFilePath(); + String url = caseAiProperties.getCaseDetailUrlBase() + caseId; requestBody.put("url", url); - requestBody.put("downloadUrl", url); + String downloadUrl = fileUploader.getHttpPath() + cases.getFilePath(); + requestBody.put("downloadUrl", downloadUrl); builder.addTextBody("url", url, ContentType.TEXT_PLAIN); - builder.addTextBody("downloadUrl", url, ContentType.TEXT_PLAIN); + builder.addTextBody("downloadUrl", downloadUrl, ContentType.TEXT_PLAIN); // metadata JSONObject fileMetaData = new JSONObject(); fileMetaData.put("标题", cases.getTitle()); @@ -804,11 +806,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService { requestBody.put("fileType", fileType); builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN); - String url = fileUploader.getHttpPath() + cases.getFilePath(); + String url = caseAiProperties.getCaseDetailUrlBase() + caseId; requestBody.put("url", url); - requestBody.put("downloadUrl", url); + String downloadUrl = fileUploader.getHttpPath() + cases.getFilePath(); + requestBody.put("downloadUrl", downloadUrl); builder.addTextBody("url", url, ContentType.TEXT_PLAIN); - builder.addTextBody("downloadUrl", url, ContentType.TEXT_PLAIN); + builder.addTextBody("downloadUrl", downloadUrl, ContentType.TEXT_PLAIN); // metadata JSONObject fileMetaData = new JSONObject(); fileMetaData.put("标题", cases.getTitle()); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/ElasticSearchIndexServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/ElasticSearchIndexServiceImpl.java index 717c7045..988ab1b7 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/ElasticSearchIndexServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/ElasticSearchIndexServiceImpl.java @@ -211,38 +211,46 @@ public class ElasticSearchIndexServiceImpl implements IElasticSearchIndexService CaseAiMessageVo messageVo = new CaseAiMessageVo(); messageVo.setQuery((String) sourceMap.get("query")); messageVo.setAnswer((String) sourceMap.get("answer")); - String startTimeStr = (String) sourceMap.get("startTime"); - messageVo.setStartTime(LocalDateTime.parse(startTimeStr)); - messageVo.setDurationSeconds((Long) sourceMap.get("durationSeconds")); + if (sourceMap.containsKey("startTime")) { + String startTimeStr = (String) sourceMap.get("startTime"); + messageVo.setStartTime(LocalDateTime.parse(startTimeStr)); + } + if (sourceMap.containsKey("durationSeconds")) { + messageVo.setDurationSeconds((Long) sourceMap.get("durationSeconds")); + } // 解析 suggestions - Object suggestionsObj = sourceMap.get("suggestions"); - if (suggestionsObj instanceof List) { - messageVo.setSuggestions((List) suggestionsObj); + if (sourceMap.containsKey("suggestions")) { + Object suggestionsObj = sourceMap.get("suggestions"); + if (suggestionsObj instanceof List) { + messageVo.setSuggestions((List) suggestionsObj); + } } // 解析 caseRefer - Object caseReferObj = sourceMap.get("caseRefer"); - if (caseReferObj instanceof List) { - List caseReferList = new ArrayList<>(); - List> caseReferMaps = (List>) caseReferObj; + if (sourceMap.containsKey("caseRefer")) { + Object caseReferObj = sourceMap.get("caseRefer"); + if (caseReferObj instanceof List) { + List caseReferList = new ArrayList<>(); + List> caseReferMaps = (List>) caseReferObj; - for (Map caseReferMap : caseReferMaps) { - CaseReferVo caseRefer = new CaseReferVo(); - caseRefer.setCaseId((String) caseReferMap.get("caseId")); - caseRefer.setTitle((String) caseReferMap.get("title")); - caseRefer.setAuthorName((String) caseReferMap.get("authorName")); - caseRefer.setContent((String) caseReferMap.get("content")); + for (Map caseReferMap : caseReferMaps) { + CaseReferVo caseRefer = new CaseReferVo(); + caseRefer.setCaseId((String) caseReferMap.get("caseId")); + caseRefer.setTitle((String) caseReferMap.get("title")); + caseRefer.setAuthorName((String) caseReferMap.get("authorName")); + caseRefer.setContent((String) caseReferMap.get("content")); - // 解析 keywords - Object keywordsObj = caseReferMap.get("keywords"); - if (keywordsObj instanceof List) { - caseRefer.setKeywords((List) keywordsObj); + // 解析 keywords + Object keywordsObj = caseReferMap.get("keywords"); + if (keywordsObj instanceof List) { + caseRefer.setKeywords((List) keywordsObj); + } + + caseReferList.add(caseRefer); } - - caseReferList.add(caseRefer); + messageVo.setCaseRefer(caseReferList); } - messageVo.setCaseRefer(caseReferList); } return messageVo; diff --git a/servers/boe-server-all/src/main/resources/application-prod.yml b/servers/boe-server-all/src/main/resources/application-prod.yml index 6173f3c7..050aba83 100644 --- a/servers/boe-server-all/src/main/resources/application-prod.yml +++ b/servers/boe-server-all/src/main/resources/application-prod.yml @@ -85,6 +85,7 @@ xboe: ai-api-code: 30800 chat-api-code: 32065 case-knowledge-id: 92a0e117-b1f0-4eb7-a4b3-c79fb18f2ede + caseDetailUrlBase: https://u.boe.com/pc/case/detail?id= file-upload-callback-url: http://10.251.113.95:9090/xboe/m/boe/caseDocumentLog/uploadCallback use-white-list: true white-user-code-list: diff --git a/servers/boe-server-all/src/main/resources/application-test.yml b/servers/boe-server-all/src/main/resources/application-test.yml index 79880dc2..495a6a22 100644 --- a/servers/boe-server-all/src/main/resources/application-test.yml +++ b/servers/boe-server-all/src/main/resources/application-test.yml @@ -119,6 +119,7 @@ xboe: ai-api-code: 30800 chat-api-code: 32065 case-knowledge-id: de2e006e-82fb-4ace-8813-f25c316be4ff + caseDetailUrlBase: https://u-pre.boe.com/pc/case/detail?id= file-upload-callback-url: http://10.251.186.27:9090/xboe/m/boe/caseDocumentLog/uploadCallback use-white-list: true white-user-code-list: