1. 证据改造代码提交

topo_dev
xueqingkun 6 months ago
parent 141ccc074a
commit e23c29ede8

@ -6,10 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Map;
import java.util.List;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.supervision.police.dto.NotePromptExtractAttributesDto;
import com.supervision.police.handler.NotePromptExtractAttributesTypeHandler;
import lombok.Data;
/**
@ -53,8 +54,8 @@ public class CaseEvidence implements Serializable {
/**
*
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private Map<String, String> property;
@TableField(typeHandler = NotePromptExtractAttributesTypeHandler.class)
private List<NotePromptExtractAttributesDto> property;
/**
*

@ -2,16 +2,16 @@ package com.supervision.police.dto;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.supervision.police.domain.CaseEvidence;
import com.supervision.police.domain.FileEvidenceProperty;
import com.supervision.police.handler.NotePromptExtractAttributesTypeHandler;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@Data
@ -57,7 +57,8 @@ public class CaseEvidenceDetailDTO {
private LocalDateTime updateTime;
@Schema(description = "案件证据属性")
private Map<String,String> property= new HashMap<>();
@TableField(typeHandler = NotePromptExtractAttributesTypeHandler.class)
private List<NotePromptExtractAttributesDto> property;
/**
@ -107,9 +108,6 @@ public class CaseEvidenceDetailDTO {
}
public void setPropertyValue(List<FileEvidenceProperty> fileEvidenceProperties){
for (FileEvidenceProperty fileEvidenceProperty : fileEvidenceProperties) {
property.put(fileEvidenceProperty.getPropertyName(),fileEvidenceProperty.getPropertyValue());
}
}
public CaseEvidence toCaseEvidence(){

@ -186,6 +186,11 @@ public class EvidenceDirectoryDTO {
}
public void setFileEvidence(Map<String, CaseEvidence> caseEvidenceMap,Map<String, CategoryPromptDTO> categoryPromptMap){
if (CollUtil.isNotEmpty(this.getChild())){
for (EvidenceDirectoryDTO directoryDTO : this.child) {
directoryDTO.setFileEvidence(caseEvidenceMap,categoryPromptMap);
}
}
if (CollUtil.isEmpty(this.getFileInfoList())){
return;
}
@ -195,11 +200,6 @@ public class EvidenceDirectoryDTO {
evidenceFileDTO.setEvidenceInfo(caseEvidenceMap.get(evidenceFileDTO.getEvidenceId()));
}
}
if (CollUtil.isNotEmpty(this.getChild())){
for (EvidenceDirectoryDTO directoryDTO : this.child) {
directoryDTO.setFileEvidence(caseEvidenceMap,categoryPromptMap);
}
}
}
public void removeEmptyDirectory(){

@ -2,6 +2,7 @@ package com.supervision.police.dto;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
@ -16,5 +17,5 @@ public class EvidenceVerifyDTO {
private String ocrText;
private Map<String,String> properties;
private List<NotePromptExtractAttributesDto> properties;
}

@ -292,9 +292,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
llmExtractDto.setPrompt(notePrompt.getPrompt());
llmExtractDto.setExtractAttributes(notePrompt.getExtractAttributes());
llmExtractDto = llmExtractService.extractAttribute(Collections.singletonList(llmExtractDto)).get(0);
Map<String, String> map = new HashMap<>();
llmExtractDto.getExtractAttributes().forEach(notePromptExtractAttribute -> map.put(notePromptExtractAttribute.getAttrName(), notePromptExtractAttribute.getAttrValue()));
caseEvidence.setProperty(map);
// Map<String, String> map = new HashMap<>();
// llmExtractDto.getExtractAttributes().forEach(notePromptExtractAttribute -> map.put(notePromptExtractAttribute.getAttrName(), notePromptExtractAttribute.getAttrValue()));
caseEvidence.setProperty(llmExtractDto.getExtractAttributes());
log.info("属性提取完成。更新证据处理状态为【属性提取完成】。属性:【{}】。耗时:【{}】", caseEvidence.getProperty(), System.currentTimeMillis() - attrStart);
caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_ATTR_EXTRACT_OK);
updateById(caseEvidence);

Loading…
Cancel
Save