NotePrompt.java extractAttributes类型转换handler变更为NotePromptExtractAttributesTypeHandler

topo_dev
DESKTOP-DDTUS3E\yaxin 8 months ago
parent 3808fd57df
commit 3b874e2d28

@ -4,10 +4,10 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
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.dto.NotePromptExtractAttributesDto;
import com.supervision.police.dto.TripleInfoDTO; import com.supervision.police.dto.TripleInfoDTO;
import com.supervision.police.handler.NotePromptExtractAttributesTypeHandler;
import lombok.Data; import lombok.Data;
import java.io.Serial; import java.io.Serial;
@ -15,7 +15,7 @@ import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@TableName(value = "note_prompt",autoResultMap = true) @TableName(value = "note_prompt", autoResultMap = true)
@Data @Data
public class NotePrompt implements Serializable { public class NotePrompt implements Serializable {
@ -83,7 +83,7 @@ public class NotePrompt implements Serializable {
* *
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE) @TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime; private LocalDateTime createTime;
/** /**
@ -96,33 +96,33 @@ public class NotePrompt implements Serializable {
* *
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE) @TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime updateTime; private LocalDateTime updateTime;
/** /**
* *
*/ */
private String name; private String name;
/** /**
* *
*/ */
private String caseType; private String caseType;
/** /**
* *
*/ */
private String type; private String type;
/** /**
* *
*/ */
@TableField(typeHandler = JacksonTypeHandler.class) @TableField(typeHandler = NotePromptExtractAttributesTypeHandler.class)
private List<NotePromptExtractAttributesDto> extractAttributes; private List<NotePromptExtractAttributesDto> extractAttributes;
/** /**
* *
*/ */
private String evidenceCategoryId; private String evidenceCategoryId;

@ -0,0 +1,31 @@
package com.supervision.police.handler;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.supervision.police.dto.NotePromptExtractAttributesDto;
import java.util.List;
public class NotePromptExtractAttributesTypeHandler extends AbstractJsonTypeHandler<List<NotePromptExtractAttributesDto>> {
private static final ObjectMapper objectMapper = new ObjectMapper();
@Override
protected List<NotePromptExtractAttributesDto> parse(String json) {
try {
return objectMapper.readValue(json, new TypeReference<List<NotePromptExtractAttributesDto>>() {
});
} catch (Exception e) {
throw new RuntimeException("Failed to parse JSON to List<NotePromptExtractAttributesDto>", e);
}
}
@Override
protected String toJson(List<NotePromptExtractAttributesDto> obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (Exception e) {
throw new RuntimeException("Failed to convert List<NotePromptExtractAttributesDto> to JSON", e);
}
}
}

@ -266,7 +266,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_SUCCESS); caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_SUCCESS);
updateById(caseEvidence); updateById(caseEvidence);
} catch (Exception e) { } catch (Exception e) {
log.error("证据解析失败。更新证据处理状态为【处理失败】。"); log.error("证据解析失败。更新证据处理状态为【处理失败】。", e);
caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_FAILED); caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_FAILED);
updateById(caseEvidence); updateById(caseEvidence);
} finally { } finally {

Loading…
Cancel
Save