From 3b874e2d28dd5407d0399b255d8f66a46cefd2d6 Mon Sep 17 00:00:00 2001 From: "DESKTOP-DDTUS3E\\yaxin" Date: Fri, 18 Oct 2024 11:07:30 +0800 Subject: [PATCH] =?UTF-8?q?NotePrompt.java=20extractAttributes=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E8=BD=AC=E6=8D=A2handler=E5=8F=98=E6=9B=B4=E4=B8=BANo?= =?UTF-8?q?tePromptExtractAttributesTypeHandler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supervision/police/domain/NotePrompt.java | 20 ++++++------ ...otePromptExtractAttributesTypeHandler.java | 31 +++++++++++++++++++ .../service/impl/CaseEvidenceServiceImpl.java | 2 +- 3 files changed, 42 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/supervision/police/handler/NotePromptExtractAttributesTypeHandler.java diff --git a/src/main/java/com/supervision/police/domain/NotePrompt.java b/src/main/java/com/supervision/police/domain/NotePrompt.java index bca0475..994b245 100644 --- a/src/main/java/com/supervision/police/domain/NotePrompt.java +++ b/src/main/java/com/supervision/police/domain/NotePrompt.java @@ -4,10 +4,10 @@ import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.fasterxml.jackson.annotation.JsonFormat; import com.supervision.police.dto.NotePromptExtractAttributesDto; import com.supervision.police.dto.TripleInfoDTO; +import com.supervision.police.handler.NotePromptExtractAttributesTypeHandler; import lombok.Data; import java.io.Serial; @@ -15,7 +15,7 @@ import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; -@TableName(value = "note_prompt",autoResultMap = true) +@TableName(value = "note_prompt", autoResultMap = true) @Data public class NotePrompt implements Serializable { @@ -83,7 +83,7 @@ public class NotePrompt implements Serializable { * 创建时间 */ @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; /** @@ -96,33 +96,33 @@ public class NotePrompt implements Serializable { * 更新时间 */ @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 String name; /** - * + * */ private String caseType; /** - * + * */ private String type; /** - * + * */ - @TableField(typeHandler = JacksonTypeHandler.class) + @TableField(typeHandler = NotePromptExtractAttributesTypeHandler.class) private List extractAttributes; /** - * + * */ private String evidenceCategoryId; diff --git a/src/main/java/com/supervision/police/handler/NotePromptExtractAttributesTypeHandler.java b/src/main/java/com/supervision/police/handler/NotePromptExtractAttributesTypeHandler.java new file mode 100644 index 0000000..4b7b9fe --- /dev/null +++ b/src/main/java/com/supervision/police/handler/NotePromptExtractAttributesTypeHandler.java @@ -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> { + private static final ObjectMapper objectMapper = new ObjectMapper(); + + @Override + protected List parse(String json) { + try { + return objectMapper.readValue(json, new TypeReference>() { + }); + } catch (Exception e) { + throw new RuntimeException("Failed to parse JSON to List", e); + } + } + + @Override + protected String toJson(List obj) { + try { + return objectMapper.writeValueAsString(obj); + } catch (Exception e) { + throw new RuntimeException("Failed to convert List to JSON", e); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java b/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java index b7291e1..646b5d2 100644 --- a/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java @@ -266,7 +266,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl