From fcbce36f8734813b13c8f9c5b26b4bd192274534 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 17 十一月 2025 16:30:28 +0800
Subject: [PATCH] 工程打印明细新增玻璃编号显示
---
north-glass-erp/src/main/java/com/example/erp/tools/JacksonUtil.java | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/tools/JacksonUtil.java b/north-glass-erp/src/main/java/com/example/erp/tools/JacksonUtil.java
new file mode 100644
index 0000000..4a9d2a9
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/tools/JacksonUtil.java
@@ -0,0 +1,89 @@
+package com.example.erp.tools;
+
+import com.fasterxml.jackson.core.JacksonException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import org.springframework.boot.json.JsonParseException;
+
+import java.util.List;
+import java.util.concurrent.Callable;
+
+
+// 灏嗙箒鐞愮殑寮傚父澶勭悊杩涜浜嗚В鍐�
+public class JacksonUtil {
+ /**
+ * 宸ュ叿绫讳笉闇�瑕佸垱寤哄疄渚嬪璞�
+ */
+ private JacksonUtil(){
+
+ }
+
+ /**
+ * 缁橭bjectMapper杩涜鍗曚緥妯″紡锛岀敱浜嶰bjectMapper 鏄嚎绋嬪畨鍏ㄧ殑锛屽彲浠ュ鐢紝鏀剧疆閲嶅鍒涘缓褰卞搷鎬ц兘
+ */
+ private static final ObjectMapper objectMapper;
+
+ static {
+ objectMapper = new ObjectMapper();
+ objectMapper.registerModule(new JavaTimeModule());
+ }
+
+ public static ObjectMapper getObjectMapper(){
+
+ return objectMapper;
+ }
+
+ public static final <T> T tryParse(Callable<T> parser) {
+ return JacksonUtil.tryParse(parser, JacksonException.class);
+ }
+
+ public static final <T> T tryParse(Callable<T> parser, Class<? extends Exception> check) {
+ try {
+ return parser.call();
+ }
+ catch (Exception ex) {
+ if (check.isAssignableFrom(ex.getClass())) {
+ throw new JsonParseException(ex);
+ }
+ throw new IllegalStateException(ex);
+ }
+ }
+
+ // 鏅�氬璞″拰List瀵硅薄鍏卞悓浣跨敤
+ public static String writeValueAsString(Object object){
+ return JacksonUtil.tryParse(()->{
+ return JacksonUtil.getObjectMapper().writeValueAsString(object);
+ });
+ }
+
+ // 鏅�氬璞$殑鍙嶅簭鍒楀寲
+ public static <T> T readValue(String str,Class<T> valueType){
+ return JacksonUtil.tryParse(()->{
+ return JacksonUtil.getObjectMapper().readValue(str,valueType);
+ });
+ }
+
+
+
+ public static <T> T readValueObjectToString(Object object,TypeReference<T> valueType){
+ String str = JacksonUtil.tryParse(()->{
+ return JacksonUtil.getObjectMapper().writeValueAsString(object);
+ });
+
+ return JacksonUtil.tryParse(()->{
+ return JacksonUtil.getObjectMapper().readValue(str,valueType);
+ });
+ }
+
+
+ // List绫诲瀷鐨勫弽搴忓垪鍖�
+ public static <T> T readListValue(String str,Class<?> valueType){
+ JavaType javaType = JacksonUtil.getObjectMapper().getTypeFactory().constructParametricType(List.class,valueType);
+ return JacksonUtil.tryParse(()->{
+ return JacksonUtil.getObjectMapper().readValue(str,javaType);
+ });
+ }
+
+}
--
Gitblit v1.8.0