上传文档时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 caseDetailUrlBase;
/**
* 文件上传是否使用回调接口
*/

View File

@@ -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());

View File

@@ -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<String>) suggestionsObj);
if (sourceMap.containsKey("suggestions")) {
Object suggestionsObj = sourceMap.get("suggestions");
if (suggestionsObj instanceof List) {
messageVo.setSuggestions((List<String>) suggestionsObj);
}
}
// 解析 caseRefer
Object caseReferObj = sourceMap.get("caseRefer");
if (caseReferObj instanceof List) {
List<CaseReferVo> caseReferList = new ArrayList<>();
List<Map<String, Object>> caseReferMaps = (List<Map<String, Object>>) caseReferObj;
if (sourceMap.containsKey("caseRefer")) {
Object caseReferObj = sourceMap.get("caseRefer");
if (caseReferObj instanceof List) {
List<CaseReferVo> caseReferList = new ArrayList<>();
List<Map<String, Object>> caseReferMaps = (List<Map<String, Object>>) caseReferObj;
for (Map<String, Object> 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<String, Object> 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<String>) keywordsObj);
// 解析 keywords
Object keywordsObj = caseReferMap.get("keywords");
if (keywordsObj instanceof List) {
caseRefer.setKeywords((List<String>) keywordsObj);
}
caseReferList.add(caseRefer);
}
caseReferList.add(caseRefer);
messageVo.setCaseRefer(caseReferList);
}
messageVo.setCaseRefer(caseReferList);
}
return messageVo;

View File

@@ -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:

View File

@@ -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: