1. 证据改造代码提交

topo_dev
xueqingkun 8 months ago
parent 141ccc074a
commit e23c29ede8

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

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

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

@ -2,6 +2,7 @@ package com.supervision.police.dto;
import lombok.Data; import lombok.Data;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -16,5 +17,5 @@ public class EvidenceVerifyDTO {
private String ocrText; 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.setPrompt(notePrompt.getPrompt());
llmExtractDto.setExtractAttributes(notePrompt.getExtractAttributes()); llmExtractDto.setExtractAttributes(notePrompt.getExtractAttributes());
llmExtractDto = llmExtractService.extractAttribute(Collections.singletonList(llmExtractDto)).get(0); llmExtractDto = llmExtractService.extractAttribute(Collections.singletonList(llmExtractDto)).get(0);
Map<String, String> map = new HashMap<>(); // Map<String, String> map = new HashMap<>();
llmExtractDto.getExtractAttributes().forEach(notePromptExtractAttribute -> map.put(notePromptExtractAttribute.getAttrName(), notePromptExtractAttribute.getAttrValue())); // llmExtractDto.getExtractAttributes().forEach(notePromptExtractAttribute -> map.put(notePromptExtractAttribute.getAttrName(), notePromptExtractAttribute.getAttrValue()));
caseEvidence.setProperty(map); caseEvidence.setProperty(llmExtractDto.getExtractAttributes());
log.info("属性提取完成。更新证据处理状态为【属性提取完成】。属性:【{}】。耗时:【{}】", caseEvidence.getProperty(), System.currentTimeMillis() - attrStart); log.info("属性提取完成。更新证据处理状态为【属性提取完成】。属性:【{}】。耗时:【{}】", caseEvidence.getProperty(), System.currentTimeMillis() - attrStart);
caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_ATTR_EXTRACT_OK); caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_ATTR_EXTRACT_OK);
updateById(caseEvidence); updateById(caseEvidence);

Loading…
Cancel
Save