上传文档时url调整为案例详情页

This commit is contained in:
liu.zixi
2025-11-03 16:21:34 +08:00
parent 4be26921d8
commit 3bb1f619bf
5 changed files with 50 additions and 32 deletions

View File

@@ -48,6 +48,11 @@ public class CaseAiProperties {
*/ */
private String defaultUploadUser; private String defaultUploadUser;
/**
* 案例详情页面地址
*/
private String caseDetailUrlBase;
/** /**
* 文件上传是否使用回调接口 * 文件上传是否使用回调接口
*/ */

View File

@@ -155,11 +155,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
requestBody.put("fileType", fileType); requestBody.put("fileType", fileType);
builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN); builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN);
String url = fileUploader.getHttpPath() + cases.getFilePath(); String url = caseAiProperties.getCaseDetailUrlBase() + caseId;
requestBody.put("url", url); 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("url", url, ContentType.TEXT_PLAIN);
builder.addTextBody("downloadUrl", url, ContentType.TEXT_PLAIN); builder.addTextBody("downloadUrl", downloadUrl, ContentType.TEXT_PLAIN);
// metadata // metadata
JSONObject fileMetaData = new JSONObject(); JSONObject fileMetaData = new JSONObject();
fileMetaData.put("标题", cases.getTitle()); fileMetaData.put("标题", cases.getTitle());
@@ -491,11 +492,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
requestBody.put("fileType", fileType); requestBody.put("fileType", fileType);
builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN); builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN);
String url = fileUploader.getHttpPath() + cases.getFilePath(); String url = caseAiProperties.getCaseDetailUrlBase() + caseId;
requestBody.put("url", url); 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("url", url, ContentType.TEXT_PLAIN);
builder.addTextBody("downloadUrl", url, ContentType.TEXT_PLAIN); builder.addTextBody("downloadUrl", downloadUrl, ContentType.TEXT_PLAIN);
// metadata // metadata
JSONObject fileMetaData = new JSONObject(); JSONObject fileMetaData = new JSONObject();
fileMetaData.put("标题", cases.getTitle()); fileMetaData.put("标题", cases.getTitle());
@@ -804,11 +806,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
requestBody.put("fileType", fileType); requestBody.put("fileType", fileType);
builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN); builder.addTextBody("parseType", "AUTO", ContentType.TEXT_PLAIN);
String url = fileUploader.getHttpPath() + cases.getFilePath(); String url = caseAiProperties.getCaseDetailUrlBase() + caseId;
requestBody.put("url", url); 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("url", url, ContentType.TEXT_PLAIN);
builder.addTextBody("downloadUrl", url, ContentType.TEXT_PLAIN); builder.addTextBody("downloadUrl", downloadUrl, ContentType.TEXT_PLAIN);
// metadata // metadata
JSONObject fileMetaData = new JSONObject(); JSONObject fileMetaData = new JSONObject();
fileMetaData.put("标题", cases.getTitle()); fileMetaData.put("标题", cases.getTitle());

View File

@@ -211,38 +211,46 @@ public class ElasticSearchIndexServiceImpl implements IElasticSearchIndexService
CaseAiMessageVo messageVo = new CaseAiMessageVo(); CaseAiMessageVo messageVo = new CaseAiMessageVo();
messageVo.setQuery((String) sourceMap.get("query")); messageVo.setQuery((String) sourceMap.get("query"));
messageVo.setAnswer((String) sourceMap.get("answer")); messageVo.setAnswer((String) sourceMap.get("answer"));
String startTimeStr = (String) sourceMap.get("startTime"); if (sourceMap.containsKey("startTime")) {
messageVo.setStartTime(LocalDateTime.parse(startTimeStr)); String startTimeStr = (String) sourceMap.get("startTime");
messageVo.setDurationSeconds((Long) sourceMap.get("durationSeconds")); messageVo.setStartTime(LocalDateTime.parse(startTimeStr));
}
if (sourceMap.containsKey("durationSeconds")) {
messageVo.setDurationSeconds((Long) sourceMap.get("durationSeconds"));
}
// 解析 suggestions // 解析 suggestions
Object suggestionsObj = sourceMap.get("suggestions"); if (sourceMap.containsKey("suggestions")) {
if (suggestionsObj instanceof List) { Object suggestionsObj = sourceMap.get("suggestions");
messageVo.setSuggestions((List<String>) suggestionsObj); if (suggestionsObj instanceof List) {
messageVo.setSuggestions((List<String>) suggestionsObj);
}
} }
// 解析 caseRefer // 解析 caseRefer
Object caseReferObj = sourceMap.get("caseRefer"); if (sourceMap.containsKey("caseRefer")) {
if (caseReferObj instanceof List) { Object caseReferObj = sourceMap.get("caseRefer");
List<CaseReferVo> caseReferList = new ArrayList<>(); if (caseReferObj instanceof List) {
List<Map<String, Object>> caseReferMaps = (List<Map<String, Object>>) caseReferObj; List<CaseReferVo> caseReferList = new ArrayList<>();
List<Map<String, Object>> caseReferMaps = (List<Map<String, Object>>) caseReferObj;
for (Map<String, Object> caseReferMap : caseReferMaps) { for (Map<String, Object> caseReferMap : caseReferMaps) {
CaseReferVo caseRefer = new CaseReferVo(); CaseReferVo caseRefer = new CaseReferVo();
caseRefer.setCaseId((String) caseReferMap.get("caseId")); caseRefer.setCaseId((String) caseReferMap.get("caseId"));
caseRefer.setTitle((String) caseReferMap.get("title")); caseRefer.setTitle((String) caseReferMap.get("title"));
caseRefer.setAuthorName((String) caseReferMap.get("authorName")); caseRefer.setAuthorName((String) caseReferMap.get("authorName"));
caseRefer.setContent((String) caseReferMap.get("content")); caseRefer.setContent((String) caseReferMap.get("content"));
// 解析 keywords // 解析 keywords
Object keywordsObj = caseReferMap.get("keywords"); Object keywordsObj = caseReferMap.get("keywords");
if (keywordsObj instanceof List) { if (keywordsObj instanceof List) {
caseRefer.setKeywords((List<String>) keywordsObj); caseRefer.setKeywords((List<String>) keywordsObj);
}
caseReferList.add(caseRefer);
} }
messageVo.setCaseRefer(caseReferList);
caseReferList.add(caseRefer);
} }
messageVo.setCaseRefer(caseReferList);
} }
return messageVo; return messageVo;

View File

@@ -85,6 +85,7 @@ xboe:
ai-api-code: 30800 ai-api-code: 30800
chat-api-code: 32065 chat-api-code: 32065
case-knowledge-id: 92a0e117-b1f0-4eb7-a4b3-c79fb18f2ede 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 file-upload-callback-url: http://10.251.113.95:9090/xboe/m/boe/caseDocumentLog/uploadCallback
use-white-list: true use-white-list: true
white-user-code-list: white-user-code-list:

View File

@@ -119,6 +119,7 @@ xboe:
ai-api-code: 30800 ai-api-code: 30800
chat-api-code: 32065 chat-api-code: 32065
case-knowledge-id: de2e006e-82fb-4ace-8813-f25c316be4ff 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 file-upload-callback-url: http://10.251.186.27:9090/xboe/m/boe/caseDocumentLog/uploadCallback
use-white-list: true use-white-list: true
white-user-code-list: white-user-code-list: