知识库审批新增所属库信息
This commit is contained in:
@@ -137,6 +137,7 @@
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>42.2.5</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.List;
|
||||
/* 知识库文件增加审批流程,传递给电子流平台内容变化的数据 */
|
||||
@Data
|
||||
public class ApprovalFileDataContentsModel {
|
||||
private String knowledgeBaseName; // 所属知识库名
|
||||
|
||||
private List<Long> ids; //新增知识库,待审批的原始数据的id集合
|
||||
|
||||
|
||||
@@ -145,6 +145,7 @@ public class FileApproveExecutor {
|
||||
|
||||
private String buildApproveContents(FileApproveRequestBuilder builder) {
|
||||
ApprovalFileDataContentsModel contentsModel = new ApprovalFileDataContentsModel();
|
||||
contentsModel.setKnowledgeBaseName(builder.getKnowledgeBaseName());
|
||||
contentsModel.setIds(builder.getFileIds());
|
||||
contentsModel.setContents(builder.getContents());
|
||||
contentsModel.setApproveAction(builder.getApproveFileActionENUM().getCode());
|
||||
|
||||
@@ -22,4 +22,5 @@ public class FileApproveRequestBuilder {
|
||||
private String templateName;
|
||||
private List<FileMetadataInfo> beforeData;
|
||||
private List<FileMetadataInfo> afterData;
|
||||
private String knowledgeBaseName; // 所属知识库名
|
||||
}
|
||||
@@ -575,6 +575,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
.beforeData(List.of(deleteFileMetadataInfo))
|
||||
.templateId(req.getTemplateId())
|
||||
.templateName(req.getTemplateName())
|
||||
.knowledgeBaseName(extractRelativePath(dirMetadataInfo))
|
||||
.build();
|
||||
if(CollectionUtils.isNotEmpty(deleteFileApproveRequestBuilder.getBeforeData())){
|
||||
setCreatorNames(deleteFileApproveRequestBuilder.getBeforeData());
|
||||
@@ -1589,6 +1590,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
.beforeData(List.of(fileInfo))
|
||||
.templateId(req.getTemplateId())
|
||||
.templateName(req.getTemplateName())
|
||||
.knowledgeBaseName(extractRelativePath(dirMetadataInfo))
|
||||
.build();
|
||||
if(CollectionUtils.isNotEmpty(uploadFileApproveRequestBuilder.getBeforeData())){
|
||||
setCreatorNames(uploadFileApproveRequestBuilder.getBeforeData());
|
||||
@@ -1622,6 +1624,32 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
return fileName.substring(lastDotIndex + 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从目录的objectKey中提取相对路径(移除目录类型前缀)
|
||||
* 如:knowledge/知识库A/子目录/ → /知识库A/子目录/
|
||||
* @param dirMetadataInfo 文件所在目录的元数据
|
||||
* @return 目录相对路径(以/开头),如果提取失败则返回null
|
||||
*/
|
||||
private String extractRelativePath(FileMetadataInfo dirMetadataInfo) {
|
||||
if (dirMetadataInfo == null || dirMetadataInfo.getObjectKey() == null || dirMetadataInfo.getDirType() == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
DirTypeEnum dirTypeEnum = DirTypeEnum.getDirTypeByValue(dirMetadataInfo.getDirType());
|
||||
if (dirTypeEnum == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
String objectKey = dirMetadataInfo.getObjectKey();
|
||||
String prefix = dirTypeEnum.getDirName();
|
||||
|
||||
if (!objectKey.startsWith(prefix)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 移除前缀:knowledge/知识库A/子目录/ → /知识库A/子目录/
|
||||
return objectKey.substring(prefix.length());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse downloadRecord(AddDownloadRecordReq req) {
|
||||
@@ -1739,6 +1767,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
.afterData(List.of(tempFileMetadataInfo))
|
||||
.templateId(req.getTemplateId())
|
||||
.templateName(req.getTemplateName())
|
||||
.knowledgeBaseName(extractRelativePath(dirMetadataInfo))
|
||||
.build();
|
||||
if(CollectionUtils.isNotEmpty(updateFileMetaIntoApproveRequestBuilder.getBeforeData())){
|
||||
setCreatorNames(updateFileMetaIntoApproveRequestBuilder.getBeforeData());
|
||||
@@ -1875,6 +1904,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
.afterData(List.of(newFileInfo))
|
||||
.templateId(req.getTemplateId())
|
||||
.templateName(req.getTemplateName())
|
||||
.knowledgeBaseName(extractRelativePath(dirMetadataInfo))
|
||||
.build();
|
||||
if(CollectionUtils.isNotEmpty(uploadAndUpdateFileApproveRequestBuilder.getBeforeData())){
|
||||
setCreatorNames(uploadAndUpdateFileApproveRequestBuilder.getBeforeData());
|
||||
@@ -2704,6 +2734,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
.beforeData(succFileMetadataInfos)
|
||||
.templateId(firstFile.getTemplateId())
|
||||
.templateName(firstFile.getTemplateName())
|
||||
.knowledgeBaseName(extractRelativePath(dirMetadataInfo))
|
||||
.build();
|
||||
if(CollectionUtils.isNotEmpty(batchUploadFileApproveRequestBuilder.getBeforeData())){
|
||||
setCreatorNames(batchUploadFileApproveRequestBuilder.getBeforeData());
|
||||
|
||||
Reference in New Issue
Block a user