Commit 94f4a2e9 authored by alex yao's avatar alex yao

fix:修复长文档接口异常

parent 36f468ff
...@@ -16,6 +16,7 @@ public class BizAgentApplicationDialoguesRecordConvert { ...@@ -16,6 +16,7 @@ public class BizAgentApplicationDialoguesRecordConvert {
entity.setContent(model.getContent()); entity.setContent(model.getContent());
entity.setReasoningContent(model.getReasoningContent()); entity.setReasoningContent(model.getReasoningContent());
entity.setImageUrl(model.getImageUrl()); entity.setImageUrl(model.getImageUrl());
entity.setFileUrl(model.getFileUrl());
entity.setDialogsId(model.getDialogsId()); entity.setDialogsId(model.getDialogsId());
entity.setTimestamp(model.getTimestamp()); entity.setTimestamp(model.getTimestamp());
entity.setIsDeleted(model.getIsDeleted()); entity.setIsDeleted(model.getIsDeleted());
...@@ -37,6 +38,7 @@ public class BizAgentApplicationDialoguesRecordConvert { ...@@ -37,6 +38,7 @@ public class BizAgentApplicationDialoguesRecordConvert {
model.setContent(entity.getContent()); model.setContent(entity.getContent());
model.setReasoningContent(entity.getReasoningContent()); model.setReasoningContent(entity.getReasoningContent());
model.setImageUrl(entity.getImageUrl()); model.setImageUrl(entity.getImageUrl());
model.setFileUrl(entity.getFileUrl());
model.setTimestamp(entity.getTimestamp()); model.setTimestamp(entity.getTimestamp());
model.setIsDeleted(entity.getIsDeleted()); model.setIsDeleted(entity.getIsDeleted());
model.setCreator(entity.getCreator()); model.setCreator(entity.getCreator());
...@@ -57,6 +59,7 @@ public class BizAgentApplicationDialoguesRecordConvert { ...@@ -57,6 +59,7 @@ public class BizAgentApplicationDialoguesRecordConvert {
dto.setContent(entity.getContent()); dto.setContent(entity.getContent());
dto.setReasoningContent(entity.getReasoningContent()); dto.setReasoningContent(entity.getReasoningContent());
dto.setImageUrl(entity.getImageUrl()); dto.setImageUrl(entity.getImageUrl());
dto.setFileUrl(entity.getFileUrl());
dto.setTimestamp(entity.getTimestamp()); dto.setTimestamp(entity.getTimestamp());
dto.setIsDeleted(entity.getIsDeleted()); dto.setIsDeleted(entity.getIsDeleted());
dto.setCreator(entity.getCreator()); dto.setCreator(entity.getCreator());
...@@ -77,6 +80,7 @@ public class BizAgentApplicationDialoguesRecordConvert { ...@@ -77,6 +80,7 @@ public class BizAgentApplicationDialoguesRecordConvert {
entity.setContent(dto.getContent()); entity.setContent(dto.getContent());
entity.setReasoningContent(dto.getReasoningContent()); entity.setReasoningContent(dto.getReasoningContent());
entity.setImageUrl(dto.getImageUrl()); entity.setImageUrl(dto.getImageUrl());
entity.setFileUrl(dto.getFileUrl());
entity.setTimestamp(dto.getTimestamp()); entity.setTimestamp(dto.getTimestamp());
entity.setIsDeleted(dto.getIsDeleted()); entity.setIsDeleted(dto.getIsDeleted());
entity.setCreator(dto.getCreator()); entity.setCreator(dto.getCreator());
......
...@@ -117,6 +117,21 @@ public class BizAgentApplicationDialoguesRecordDto { ...@@ -117,6 +117,21 @@ public class BizAgentApplicationDialoguesRecordDto {
this.imageUrl = imageUrl; this.imageUrl = imageUrl;
} }
/**
* file_url
* 文件地址
*/
private java.lang.String fileUrl;
public String getFileUrl() {
return fileUrl;
}
public void setFileUrl(String fileUrl) {
this.fileUrl = fileUrl;
}
/** /**
* timestamp * timestamp
* 时间戳 * 时间戳
......
...@@ -103,6 +103,19 @@ public class BizAgentApplicationDialoguesRecordEntity { ...@@ -103,6 +103,19 @@ public class BizAgentApplicationDialoguesRecordEntity {
this.imageUrl = imageUrl; this.imageUrl = imageUrl;
} }
/**
* 文件地址
*/
private java.lang.String fileUrl;
public String getFileUrl() {
return fileUrl;
}
public void setFileUrl(String fileUrl) {
this.fileUrl = fileUrl;
}
/** /**
* dialogsId * dialogsId
* 对话ID * 对话ID
......
...@@ -161,6 +161,21 @@ public class BizAgentApplicationDialoguesRecordModel extends BaseModelClass impl ...@@ -161,6 +161,21 @@ public class BizAgentApplicationDialoguesRecordModel extends BaseModelClass impl
this.imageUrl = imageUrl; this.imageUrl = imageUrl;
} }
/**
* file_url
* 文件地址
*/
private java.lang.String fileUrl;
@Column(name = "file_url", length = 120)
public String getFileUrl() {
return fileUrl;
}
public void setFileUrl(String fileUrl) {
this.fileUrl = fileUrl;
}
/** /**
* timestamp * timestamp
* 时间戳 * 时间戳
......
package cn.com.poc.long_document.aggregate; package cn.com.poc.long_document.aggregate;
import cn.com.poc.long_document.dto.DialoguesContextDto;
import cn.com.poc.long_document.dto.LongTextDialoguesDto;
import cn.com.poc.long_document.dto.LongTextExampleDto; import cn.com.poc.long_document.dto.LongTextExampleDto;
import cn.com.poc.long_document.dto.LongTextSummaryDto; import cn.com.poc.long_document.dto.LongTextSummaryDto;
...@@ -13,20 +11,11 @@ import java.util.List; ...@@ -13,20 +11,11 @@ import java.util.List;
*/ */
public interface LongTextDialoguesService { public interface LongTextDialoguesService {
String create(String fileUrl, Long userId) throws Exception;
void call(String dialoguesId, String fileUrl, String input, Integer[] knowledgeIds, Long userId) throws Exception; void call(String dialoguesId, String fileUrl, String input, Integer[] knowledgeIds, Long userId) throws Exception;
LongTextSummaryDto summary(String dialoguesId, Long userId) throws Exception; LongTextSummaryDto summary(String dialoguesId, Long userId) throws Exception;
void delete(String dialoguesId, Long userId) throws Exception;
LongTextDialoguesDto dialoguesDetail(String dialoguesId, Long userId) throws Exception;
List<LongTextDialoguesDto> dialoguesList(Long userId) throws Exception;
List<DialoguesContextDto> dialoguesContext(String dialoguesId, Long userId) throws Exception;
List<LongTextExampleDto> example() throws Exception; List<LongTextExampleDto> example() throws Exception;
} }
package cn.com.poc.long_document.aggregate.impl; package cn.com.poc.long_document.aggregate.impl;
import cn.com.poc.agent_application.entity.BizAgentApplicationDialoguesRecordEntity;
import cn.com.poc.agent_application.entity.BizAgentApplicationGcConfigEntity; import cn.com.poc.agent_application.entity.BizAgentApplicationGcConfigEntity;
import cn.com.poc.agent_application.entity.KnowledgeContentResult; import cn.com.poc.agent_application.entity.KnowledgeContentResult;
import cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService;
import cn.com.poc.agent_application.service.BizAgentApplicationGcConfigService; import cn.com.poc.agent_application.service.BizAgentApplicationGcConfigService;
import cn.com.poc.ai_dialogues.entity.BizAiDialoguesEntity;
import cn.com.poc.ai_dialogues.service.BizAiDialoguesService;
import cn.com.poc.common.constant.CommonConstant; import cn.com.poc.common.constant.CommonConstant;
import cn.com.poc.common.model.BizFileUploadRecordModel; import cn.com.poc.common.model.BizFileUploadRecordModel;
import cn.com.poc.common.service.BizFileUploadRecordService; import cn.com.poc.common.service.BizFileUploadRecordService;
import cn.com.poc.common.utils.DocumentLoad; import cn.com.poc.common.utils.DocumentLoad;
import cn.com.poc.common.utils.JsonUtils; import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.common.utils.SSEUtil; import cn.com.poc.common.utils.SSEUtil;
import cn.com.poc.common.utils.UUIDTool;
import cn.com.poc.knowledge.aggregate.KnowledgeService; import cn.com.poc.knowledge.aggregate.KnowledgeService;
import cn.com.poc.knowledge.constant.KnowledgeConstant; import cn.com.poc.knowledge.constant.KnowledgeConstant;
import cn.com.poc.knowledge.entity.BizKnowledgeDocumentEntity; import cn.com.poc.knowledge.entity.BizKnowledgeDocumentEntity;
...@@ -17,16 +20,11 @@ import cn.com.poc.knowledge.query.KnowledgeDocumentRelationQueryItem; ...@@ -17,16 +20,11 @@ import cn.com.poc.knowledge.query.KnowledgeDocumentRelationQueryItem;
import cn.com.poc.knowledge.service.BizKnowledgeDocumentService; import cn.com.poc.knowledge.service.BizKnowledgeDocumentService;
import cn.com.poc.long_document.aggregate.LongTextDialoguesService; import cn.com.poc.long_document.aggregate.LongTextDialoguesService;
import cn.com.poc.long_document.domain.LongtextDialoguesResult; import cn.com.poc.long_document.domain.LongtextDialoguesResult;
import cn.com.poc.long_document.dto.DialoguesContextDto;
import cn.com.poc.long_document.dto.LongTextDialoguesDto;
import cn.com.poc.long_document.dto.LongTextExampleDto; import cn.com.poc.long_document.dto.LongTextExampleDto;
import cn.com.poc.long_document.dto.LongTextSummaryDto; import cn.com.poc.long_document.dto.LongTextSummaryDto;
import cn.com.poc.long_document.entity.BizLongTextSummaryCacheEntity; import cn.com.poc.long_document.entity.BizLongTextSummaryCacheEntity;
import cn.com.poc.long_document.model.BizLongTextDialoguesModel;
import cn.com.poc.long_document.model.BizLongTextDialoguesRecordModel; import cn.com.poc.long_document.model.BizLongTextDialoguesRecordModel;
import cn.com.poc.long_document.model.BizLongTextExampleModel; import cn.com.poc.long_document.model.BizLongTextExampleModel;
import cn.com.poc.long_document.service.BizLongTextDialoguesRecordService;
import cn.com.poc.long_document.service.BizLongTextDialoguesService;
import cn.com.poc.long_document.service.BizLongTextExampleService; import cn.com.poc.long_document.service.BizLongTextExampleService;
import cn.com.poc.long_document.service.BizLongTextSummaryCacheService; import cn.com.poc.long_document.service.BizLongTextSummaryCacheService;
import cn.com.poc.thirdparty.resource.demand.ai.aggregate.DemandKnowledgeService; import cn.com.poc.thirdparty.resource.demand.ai.aggregate.DemandKnowledgeService;
...@@ -72,10 +70,10 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService { ...@@ -72,10 +70,10 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
private BizFileUploadRecordService bizFileUploadRecordService; private BizFileUploadRecordService bizFileUploadRecordService;
@Resource @Resource
private BizLongTextDialoguesService bizLongTextDialoguesService; private BizAiDialoguesService bizAiDialoguesService;
@Resource @Resource
private BizLongTextDialoguesRecordService bizLongTextDialoguesRecordService; private BizAgentApplicationDialoguesRecordService bizAgentApplicationDialoguesRecordService;
@Resource @Resource
private BizLongTextExampleService bizLongTextExampleService; private BizLongTextExampleService bizLongTextExampleService;
...@@ -92,68 +90,56 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService { ...@@ -92,68 +90,56 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
@Resource @Resource
private DemandKnowledgeService demandKnowledgeService; private DemandKnowledgeService demandKnowledgeService;
@Resource @Resource
private BizLongTextSummaryCacheService bizLongTextSummaryCacheService; private BizLongTextSummaryCacheService bizLongTextSummaryCacheService;
@Override
public String create(String fileUrl, Long userId) throws Exception {
String dialoguesId = UUIDTool.getUUID();
BizLongTextDialoguesModel model = new BizLongTextDialoguesModel();
model.setDialogsId(dialoguesId);
model.setMemberId(userId);
model.setFileUrl(fileUrl);
model.setIsDeleted(CommonConstant.IsDeleted.N);
bizLongTextDialoguesService.save(model);
return dialoguesId;
}
@Override @Override
public void call(String dialoguesId, String fileUrl, String input, Integer[] knowledgeIds, Long userId) throws Exception { public void call(String dialoguesId, String fileUrl, String input, Integer[] knowledgeIds, Long userId) throws Exception {
BizLongTextDialoguesModel model = new BizLongTextDialoguesModel(); BizAiDialoguesEntity bizAiDialoguesEntity = new BizAiDialoguesEntity();
model.setDialogsId(dialoguesId); bizAiDialoguesEntity.setDialoguesId(dialoguesId);
model.setMemberId(userId); bizAiDialoguesEntity.setMemberId(userId);
model.setIsDeleted(CommonConstant.IsDeleted.N); bizAiDialoguesEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizLongTextDialoguesModel> models = bizLongTextDialoguesService.findByExample(model, null); List<BizAiDialoguesEntity> bizAiDialoguesEntities = bizAiDialoguesService.findByExample(bizAiDialoguesEntity, null);
if (CollectionUtils.isEmpty(models)) { if (CollectionUtils.isEmpty(bizAiDialoguesEntities)) {
throw new BusinessException("对话ID不存在"); throw new BusinessException("对话ID不存在");
} }
BizLongTextDialoguesModel bizLongTextDialoguesModel = models.get(0); BizAiDialoguesEntity aiDialoguesEntity = bizAiDialoguesEntities.get(0);
//更新标题 //更新标题
if (StringUtils.isBlank(bizLongTextDialoguesModel.getTitle())) { // 标题 if (StringUtils.isBlank(aiDialoguesEntity.getTitle())) { // 标题
bizLongTextDialoguesModel.setTitle(input.substring(0, Math.min(input.length(), 150))); aiDialoguesEntity.setTitle(input.substring(0, Math.min(input.length(), 150)));
bizLongTextDialoguesModel = bizLongTextDialoguesService.save(bizLongTextDialoguesModel); aiDialoguesEntity = bizAiDialoguesService.save(aiDialoguesEntity);
} }
BizLongTextDialoguesRecordModel dialoguesRecordModel = new BizLongTextDialoguesRecordModel(); BizAgentApplicationDialoguesRecordEntity dialoguesRecordEntity = new BizAgentApplicationDialoguesRecordEntity();
dialoguesRecordModel.setDialogsId(dialoguesId); dialoguesRecordEntity.setDialogsId(dialoguesId);
dialoguesRecordModel.setMemberId(userId); dialoguesRecordEntity.setMemberId(userId);
dialoguesRecordModel.setIsDeleted(CommonConstant.IsDeleted.N); dialoguesRecordEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizLongTextDialoguesRecordModel> dialoguesRecordModelList = bizLongTextDialoguesRecordService.findByExample(dialoguesRecordModel, null); List<BizAgentApplicationDialoguesRecordEntity> dialoguesRecordEntities = bizAgentApplicationDialoguesRecordService.findByExample(dialoguesRecordEntity, null);
boolean isInit = false; boolean isInit = false;
if (CollectionUtils.isEmpty(dialoguesRecordModelList)) { if (CollectionUtils.isEmpty(dialoguesRecordEntities)) {
if (StringUtils.isNoneBlank(bizLongTextDialoguesModel.getFileUrl()) && StringUtils.isBlank(fileUrl)) { if (StringUtils.isNoneBlank(aiDialoguesEntity.getFileUrl()) && StringUtils.isBlank(fileUrl)) {
fileUrl = bizLongTextDialoguesModel.getFileUrl(); fileUrl = aiDialoguesEntity.getFileUrl();
} }
isInit = true; isInit = true;
} }
// 文件是否变更 // 文件是否变更
boolean isFileUrlChanged = (StringUtils.isNotBlank(fileUrl) && !bizLongTextDialoguesModel.getFileUrl().equals(fileUrl)) boolean isFileUrlChanged = (StringUtils.isNotBlank(fileUrl) && !aiDialoguesEntity.getFileUrl().equals(fileUrl))
|| isInit; || isInit;
if (StringUtils.isBlank(fileUrl)) { if (StringUtils.isBlank(fileUrl)) {
fileUrl = bizLongTextDialoguesModel.getFileUrl(); fileUrl = aiDialoguesEntity.getFileUrl();
} }
// 更新文件URL // 更新文件URL
if (isFileUrlChanged) { if (isFileUrlChanged) {
if (!isInit && StringUtils.isNotBlank(fileUrl)) { if (!isInit && StringUtils.isNotBlank(fileUrl)) {
bizLongTextDialoguesModel.setFileUrl(fileUrl); aiDialoguesEntity.setFileUrl(fileUrl);
bizLongTextDialoguesService.save(bizLongTextDialoguesModel); bizAiDialoguesService.save(aiDialoguesEntity);
} }
} }
...@@ -187,7 +173,7 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService { ...@@ -187,7 +173,7 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
// 保存用户输入记录 // 保存用户输入记录
BizLongTextDialoguesRecordModel inputRecord = new BizLongTextDialoguesRecordModel(); BizAgentApplicationDialoguesRecordEntity inputRecord = new BizAgentApplicationDialoguesRecordEntity();
inputRecord.setMemberId(userId); inputRecord.setMemberId(userId);
inputRecord.setContent(input); inputRecord.setContent(input);
if (isFileUrlChanged) { if (isFileUrlChanged) {
...@@ -198,38 +184,36 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService { ...@@ -198,38 +184,36 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
inputRecord.setTimestamp(inputTimestamp); inputRecord.setTimestamp(inputTimestamp);
// 保存AI回复记录 // 保存AI回复记录
BizLongTextDialoguesRecordModel assistantRecord = new BizLongTextDialoguesRecordModel(); BizAgentApplicationDialoguesRecordEntity assistantRecord = new BizAgentApplicationDialoguesRecordEntity();
assistantRecord.setMemberId(userId); assistantRecord.setMemberId(userId);
assistantRecord.setContent(longtextDialoguesResult.getMessage()); assistantRecord.setContent(longtextDialoguesResult.getMessage());
assistantRecord.setReasoningContent(longtextDialoguesResult.getReasoningContent()); assistantRecord.setReasoningContent(longtextDialoguesResult.getReasoningContent());
assistantRecord.setDialogsId(dialoguesId); assistantRecord.setDialogsId(dialoguesId);
assistantRecord.setRole("assistant"); assistantRecord.setRole("assistant");
assistantRecord.setTimestamp(System.currentTimeMillis()); assistantRecord.setTimestamp(System.currentTimeMillis());
List<BizLongTextDialoguesRecordModel> recordModels = new ArrayList<>();
recordModels.add(inputRecord); bizAgentApplicationDialoguesRecordService.save(inputRecord);
recordModels.add(assistantRecord); bizAgentApplicationDialoguesRecordService.save(inputRecord);
bizLongTextDialoguesRecordService.saveAll(recordModels);
} }
@Override @Override
public LongTextSummaryDto summary(String dialoguesId, Long userId) throws Exception { public LongTextSummaryDto summary(String dialoguesId, Long userId) throws Exception {
BizLongTextDialoguesModel longTextDialoguesModel = new BizLongTextDialoguesModel(); BizAiDialoguesEntity bizAiDialoguesEntity = new BizAiDialoguesEntity();
longTextDialoguesModel.setDialogsId(dialoguesId); bizAiDialoguesEntity.setDialoguesId(dialoguesId);
longTextDialoguesModel.setMemberId(userId); bizAiDialoguesEntity.setMemberId(userId);
longTextDialoguesModel.setIsDeleted(CommonConstant.IsDeleted.N); bizAiDialoguesEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizLongTextDialoguesModel> models = bizLongTextDialoguesService.findByExample(longTextDialoguesModel, null); List<BizAiDialoguesEntity> entities = bizAiDialoguesService.findByExample(bizAiDialoguesEntity, null);
if (CollectionUtils.isEmpty(models)) { if (CollectionUtils.isEmpty(entities)) {
throw new BusinessException("对话不存在"); throw new BusinessException("对话不存在");
} }
BizLongTextDialoguesModel bizLongTextDialoguesModel = models.get(0); BizAiDialoguesEntity aiDialoguesEntity = entities.get(0);
String fileUrl = bizLongTextDialoguesModel.getFileUrl(); String fileUrl = aiDialoguesEntity.getFileUrl();
if (StringUtils.isBlank(fileUrl)) { if (StringUtils.isBlank(fileUrl)) {
throw new BusinessException("对话文件不存在,重新创建对话"); throw new BusinessException("对话文件不存在,重新创建对话");
} }
String summary; String summary;
String corePoint; String corePoint;
File file = DocumentLoad.downloadURLDocument(fileUrl); File file = DocumentLoad.downloadURLDocument(fileUrl);
...@@ -275,121 +259,6 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService { ...@@ -275,121 +259,6 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
return longTextSummaryDto; return longTextSummaryDto;
} }
@Override
public void delete(String dialoguesId, Long userId) throws Exception {
BizLongTextDialoguesModel model = new BizLongTextDialoguesModel();
model.setDialogsId(dialoguesId);
model.setMemberId(userId);
model.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizLongTextDialoguesModel> models = bizLongTextDialoguesService.findByExample(model, null);
if (CollectionUtils.isEmpty(models)) {
throw new BusinessException("对话ID不存在");
}
BizLongTextDialoguesModel bizLongTextDialoguesModel = models.get(0);
bizLongTextDialoguesModel.setIsDeleted(CommonConstant.IsDeleted.Y);
bizLongTextDialoguesService.save(bizLongTextDialoguesModel);
logger.info("删除对话ID:{}", dialoguesId);
}
@Override
public LongTextDialoguesDto dialoguesDetail(String dialoguesId, Long userId) throws Exception {
BizLongTextDialoguesModel model = new BizLongTextDialoguesModel();
model.setMemberId(userId);
model.setDialogsId(dialoguesId);
model.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizLongTextDialoguesModel> models = bizLongTextDialoguesService.findByExample(model, null);
if (CollectionUtils.isEmpty(models)) {
throw new BusinessException("对话ID不存在");
}
BizLongTextDialoguesModel bizLongTextDialoguesModel = models.get(0);
LongTextDialoguesDto dto = new LongTextDialoguesDto();
dto.setDialogsId(bizLongTextDialoguesModel.getDialogsId());
dto.setTitle(bizLongTextDialoguesModel.getTitle());
dto.setFileUrl(bizLongTextDialoguesModel.getFileUrl());
if (StringUtils.isNotBlank(bizLongTextDialoguesModel.getFileUrl())) {
BizFileUploadRecordModel bizFileUploadRecordModel = new BizFileUploadRecordModel();
bizFileUploadRecordModel.setFileUrl(bizLongTextDialoguesModel.getFileUrl());
List<BizFileUploadRecordModel> fileUploadRecordModels = bizFileUploadRecordService.findByExample(bizFileUploadRecordModel, null);
if (CollectionUtils.isNotEmpty(fileUploadRecordModels)) {
dto.setFileName(fileUploadRecordModels.get(0).getFileName());
}
}
dto.setMemberId(userId);
dto.setCreatedTime(bizLongTextDialoguesModel.getCreatedTime());
return dto;
}
@Override
public List<LongTextDialoguesDto> dialoguesList(Long userId) throws Exception {
List<LongTextDialoguesDto> dialoguesList = new ArrayList<>();
BizLongTextDialoguesModel model = new BizLongTextDialoguesModel();
model.setMemberId(userId);
model.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizLongTextDialoguesModel> models = bizLongTextDialoguesService.findByExample(model, null);
if (CollectionUtils.isNotEmpty(models)) {
for (BizLongTextDialoguesModel bizLongTextDialoguesModel : models) {
if (StringUtils.isBlank(bizLongTextDialoguesModel.getTitle())) {
continue;
}
LongTextDialoguesDto dto = new LongTextDialoguesDto();
dto.setDialogsId(bizLongTextDialoguesModel.getDialogsId());
dto.setTitle(bizLongTextDialoguesModel.getTitle());
dto.setFileUrl(bizLongTextDialoguesModel.getFileUrl());
if (StringUtils.isNotBlank(bizLongTextDialoguesModel.getFileUrl())) {
BizFileUploadRecordModel bizFileUploadRecordModel = new BizFileUploadRecordModel();
bizFileUploadRecordModel.setFileUrl(bizLongTextDialoguesModel.getFileUrl());
List<BizFileUploadRecordModel> fileUploadRecordModels = bizFileUploadRecordService.findByExample(bizFileUploadRecordModel, null);
if (CollectionUtils.isNotEmpty(fileUploadRecordModels)) {
dto.setFileName(fileUploadRecordModels.get(0).getFileName());
}
}
dto.setMemberId(userId);
dto.setCreatedTime(bizLongTextDialoguesModel.getCreatedTime());
dialoguesList.add(dto);
}
}
return dialoguesList;
}
@Override
public List<DialoguesContextDto> dialoguesContext(String dialoguesId, Long userId) throws Exception {
BizLongTextDialoguesModel model = new BizLongTextDialoguesModel();
model.setMemberId(userId);
model.setDialogsId(dialoguesId);
List<BizLongTextDialoguesModel> models = bizLongTextDialoguesService.findByExample(model, null);
if (CollectionUtils.isEmpty(models)) {
throw new BusinessException("对话ID不存在");
}
BizLongTextDialoguesRecordModel recordModel = new BizLongTextDialoguesRecordModel();
recordModel.setDialogsId(dialoguesId);
recordModel.setMemberId(model.getMemberId());
recordModel.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizLongTextDialoguesRecordModel> recordModels = bizLongTextDialoguesRecordService.findByExample(recordModel, null);
List<DialoguesContextDto> dialoguesContextDtos = new ArrayList<>();
if (CollectionUtils.isNotEmpty(recordModels)) {
for (BizLongTextDialoguesRecordModel dialoguesRecordModel : recordModels) {
DialoguesContextDto dialoguesContextDto = new DialoguesContextDto();
dialoguesContextDto.setRole(dialoguesRecordModel.getRole());
dialoguesContextDto.setContent(dialoguesRecordModel.getContent());
dialoguesContextDto.setReasoningContent(dialoguesRecordModel.getReasoningContent());
dialoguesContextDto.setTimestamp(dialoguesRecordModel.getTimestamp());
dialoguesContextDto.setFileUrl(dialoguesRecordModel.getFileUrl());
if (StringUtils.isNotBlank(dialoguesRecordModel.getFileUrl())) {
BizFileUploadRecordModel bizFileUploadRecordModel = new BizFileUploadRecordModel();
bizFileUploadRecordModel.setFileUrl(dialoguesRecordModel.getFileUrl());
List<BizFileUploadRecordModel> fileUploadRecordModels = bizFileUploadRecordService.findByExample(bizFileUploadRecordModel, null);
if (CollectionUtils.isNotEmpty(fileUploadRecordModels)) {
dialoguesContextDto.setFileName(fileUploadRecordModels.get(0).getFileName());
}
}
dialoguesContextDtos.add(dialoguesContextDto);
}
}
return dialoguesContextDtos;
}
@Override @Override
public List<LongTextExampleDto> example() throws Exception { public List<LongTextExampleDto> example() throws Exception {
List<LongTextExampleDto> result = new ArrayList<>(); List<LongTextExampleDto> result = new ArrayList<>();
...@@ -456,13 +325,13 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService { ...@@ -456,13 +325,13 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
messages.add(fileSystemMessage); messages.add(fileSystemMessage);
// 对话记录 // 对话记录
BizLongTextDialoguesRecordModel recordModel = new BizLongTextDialoguesRecordModel(); BizAgentApplicationDialoguesRecordEntity recordEntity = new BizAgentApplicationDialoguesRecordEntity();
recordModel.setDialogsId(dialogsId); recordEntity.setDialogsId(dialogsId);
recordModel.setIsDeleted(CommonConstant.IsDeleted.N); recordEntity.setIsDeleted(CommonConstant.IsDeleted.N);
recordModel.setMemberId(userId); recordEntity.setMemberId(userId);
List<BizLongTextDialoguesRecordModel> recordModels = bizLongTextDialoguesRecordService.findByExample(recordModel, null); List<BizAgentApplicationDialoguesRecordEntity> recordEntities = bizAgentApplicationDialoguesRecordService.findByExample(recordEntity, null);
if (CollectionUtils.isNotEmpty(recordModels)) { if (CollectionUtils.isNotEmpty(recordEntities)) {
for (BizLongTextDialoguesRecordModel entity : recordModels) { for (BizAgentApplicationDialoguesRecordEntity entity : recordEntities) {
Message message = new Message(); Message message = new Message();
message.setContent(entity.getContent()); message.setContent(entity.getContent());
message.setRole(entity.getRole()); message.setRole(entity.getRole());
...@@ -472,8 +341,8 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService { ...@@ -472,8 +341,8 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
//判断最后是否为User,若是则删除。 //判断最后是否为User,若是则删除。
if (CollectionUtils.isNotEmpty(messages)) { if (CollectionUtils.isNotEmpty(messages)) {
if (LLMRoleEnum.USER.getRole().equals(messages.get(messages.size() - 1).getRole())) { if (LLMRoleEnum.USER.getRole().equals(messages.get(messages.size() - 1).getRole())) {
Long recordId = recordModels.get(recordModels.size() - 1).getId(); Long recordId = recordEntities.get(recordEntities.size() - 1).getId();
bizLongTextDialoguesRecordService.deleteById(recordId); bizAgentApplicationDialoguesRecordService.deletedById(recordId);
messages.remove(messages.size() - 1); messages.remove(messages.size() - 1);
} }
} }
......
package cn.com.poc.long_document.rest; package cn.com.poc.long_document.rest;
import cn.com.poc.long_document.dto.*; import cn.com.poc.long_document.dto.LongTextDialoguesCallDto;
import cn.com.poc.long_document.dto.LongTextExampleDto;
import cn.com.poc.long_document.dto.LongTextSummaryDto;
import cn.com.yict.framemax.core.rest.BaseRest; import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.yict.framemax.web.permission.Access; import cn.com.yict.framemax.web.permission.Access;
import cn.com.yict.framemax.web.permission.Permission; import cn.com.yict.framemax.web.permission.Permission;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
/** /**
...@@ -20,14 +21,6 @@ import java.util.List; ...@@ -20,14 +21,6 @@ import java.util.List;
public interface LongTextDialoguesRest extends BaseRest { public interface LongTextDialoguesRest extends BaseRest {
/**
* 创建对话
*
* @return
* @throws Exception
*/
String create(@RequestBody CreateDialoguesDto dto) throws Exception;
/** /**
* 核心观点提取、总结摘要 * 核心观点提取、总结摘要
*/ */
...@@ -42,48 +35,6 @@ public interface LongTextDialoguesRest extends BaseRest { ...@@ -42,48 +35,6 @@ public interface LongTextDialoguesRest extends BaseRest {
void call(@RequestBody LongTextDialoguesCallDto dto) throws Exception; void call(@RequestBody LongTextDialoguesCallDto dto) throws Exception;
/**
* 删除对话
*
* @param dialoguesId
* @throws Exception
*/
void delete(@RequestParam String dialoguesId) throws Exception;
/**
* 批量删除对话
*
* @param dto
* @throws Exception
*/
void batchDelete(@RequestBody BatchDelDialoguesDto dto) throws Exception;
/**
* 对话详情
*
* @param dialoguesId
* @return
*/
LongTextDialoguesDto dialoguesDetail(@RequestParam String dialoguesId) throws Exception;
/**
* 对话列表
*
* @return
* @throws Exception
*/
List<LongTextDialoguesDto> dialoguesList() throws Exception;
/**
* 对话上下文
*
* @param dialoguesId
* @return
* @throws Exception
*/
List<DialoguesContextDto> dialoguesContext(@RequestParam String dialoguesId) throws Exception;
/** /**
* 示例 * 示例
* *
......
...@@ -4,12 +4,13 @@ package cn.com.poc.long_document.rest.impl; ...@@ -4,12 +4,13 @@ package cn.com.poc.long_document.rest.impl;
import cn.com.poc.common.utils.Assert; import cn.com.poc.common.utils.Assert;
import cn.com.poc.common.utils.BlContext; import cn.com.poc.common.utils.BlContext;
import cn.com.poc.long_document.aggregate.LongTextDialoguesService; import cn.com.poc.long_document.aggregate.LongTextDialoguesService;
import cn.com.poc.long_document.dto.*; import cn.com.poc.long_document.dto.LongTextDialoguesCallDto;
import cn.com.poc.long_document.dto.LongTextExampleDto;
import cn.com.poc.long_document.dto.LongTextSummaryDto;
import cn.com.poc.long_document.rest.LongTextDialoguesRest; import cn.com.poc.long_document.rest.LongTextDialoguesRest;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity; import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.yict.framemax.core.exception.BusinessException; import cn.com.yict.framemax.core.exception.BusinessException;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
...@@ -25,16 +26,6 @@ public class LongTextDialoguesRestImpl implements LongTextDialoguesRest { ...@@ -25,16 +26,6 @@ public class LongTextDialoguesRestImpl implements LongTextDialoguesRest {
@Resource @Resource
private LongTextDialoguesService longTextDialoguesService; private LongTextDialoguesService longTextDialoguesService;
@Override
public String create(CreateDialoguesDto dto) throws Exception {
Assert.notNull(dto.getFileUrl(), "文件URL不能为空");
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) {
throw new BusinessException("用户未登录");
}
return longTextDialoguesService.create(dto.getFileUrl(), userBaseEntity.getUserId());
}
@Override @Override
public void call(LongTextDialoguesCallDto dto) throws Exception { public void call(LongTextDialoguesCallDto dto) throws Exception {
Assert.notBlank(dto.getDialoguesId(), "对话ID不能为空"); Assert.notBlank(dto.getDialoguesId(), "对话ID不能为空");
...@@ -61,63 +52,6 @@ public class LongTextDialoguesRestImpl implements LongTextDialoguesRest { ...@@ -61,63 +52,6 @@ public class LongTextDialoguesRestImpl implements LongTextDialoguesRest {
return longTextDialoguesService.summary(dialoguesId, userBaseEntity.getUserId()); return longTextDialoguesService.summary(dialoguesId, userBaseEntity.getUserId());
} }
@Override
public void delete(String dialoguesId) throws Exception {
Assert.notBlank(dialoguesId, "对话ID不能为空");
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) {
throw new BusinessException("用户未登录");
}
longTextDialoguesService.delete(dialoguesId, userBaseEntity.getUserId());
}
@Override
public void batchDelete(BatchDelDialoguesDto dto) {
Assert.notNull(dto, "批量删除对话DTO不能为空");
Assert.notEmpty(dto.getDialoguesIds(), "对话ID列表不能为空");
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) {
throw new BusinessException("用户未登录");
}
dto.getDialoguesIds().parallelStream().forEach(dialoguesId -> {
try {
longTextDialoguesService.delete(dialoguesId, userBaseEntity.getUserId());
} catch (Exception e) {
throw new BusinessException("----批量删除对话失败----", e);
}
});
}
@Override
public LongTextDialoguesDto dialoguesDetail(String dialoguesId) throws Exception {
Assert.notBlank(dialoguesId, "对话ID不能为空");
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) {
throw new BusinessException("用户未登录");
}
return longTextDialoguesService.dialoguesDetail(dialoguesId, userBaseEntity.getUserId());
}
@Override
public List<LongTextDialoguesDto> dialoguesList() throws Exception {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) {
throw new BusinessException("用户未登录");
}
return longTextDialoguesService.dialoguesList(userBaseEntity.getUserId());
}
@Override
public List<DialoguesContextDto> dialoguesContext(String dialoguesId) throws Exception {
Assert.notBlank(dialoguesId, "对话ID不能为空");
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) {
throw new BusinessException("用户未登录");
}
return longTextDialoguesService.dialoguesContext(dialoguesId, userBaseEntity.getUserId());
}
@Override @Override
public List<LongTextExampleDto> example() throws Exception { public List<LongTextExampleDto> example() throws Exception {
return longTextDialoguesService.example(); return longTextDialoguesService.example();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment