From 3acb4bda764d615bc69d18339921cc92e0024cdd Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 30 七月 2026 18:05:23 +0800
Subject: [PATCH] 生产订单物料需求修改
---
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeDeserializer.java | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeDeserializer.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeDeserializer.java
index 6dfecb7..2dad8f1 100644
--- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeDeserializer.java
+++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeDeserializer.java
@@ -2,12 +2,15 @@
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
+import tools.jackson.core.JsonToken;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.ValueDeserializer;
import java.time.Instant;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
/**
* 鍩轰簬鏃堕棿鎴崇殑 LocalDateTime 鍙嶅簭鍒楀寲鍣�
@@ -18,10 +21,28 @@
public static final TimestampLocalDateTimeDeserializer INSTANCE = new TimestampLocalDateTimeDeserializer();
+ private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+
@Override
public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
- // 灏� Long 鏃堕棿鎴筹紝杞崲涓� LocalDateTime 瀵硅薄
- return LocalDateTime.ofInstant(Instant.ofEpochMilli(p.getValueAsLong()), ZoneId.systemDefault());
+ // 鏁板瓧绫诲瀷锛氫綔涓烘椂闂存埑澶勭悊
+ if (p.currentToken() == JsonToken.VALUE_NUMBER_INT) {
+ return LocalDateTime.ofInstant(Instant.ofEpochMilli(p.getValueAsLong()), ZoneId.systemDefault());
+ }
+ // 瀛楃涓茬被鍨嬶細鍏堝皾璇曚綔涓烘椂闂存埑瑙f瀽锛屽啀鎸夋棩鏈熸牸寮忚В鏋�
+ String text = p.getValueAsString();
+ try {
+ long millis = Long.parseLong(text);
+ return LocalDateTime.ofInstant(Instant.ofEpochMilli(millis), ZoneId.systemDefault());
+ } catch (NumberFormatException e) {
+ // 涓嶆槸绾暟瀛楋紝鎸夋棩鏈熸牸寮忚В鏋�
+ }
+ // 绾棩鏈熸牸寮忥紙濡� "2026-07-29"锛夛紝琛ュ叏涓哄綋澶� 00:00:00
+ if (text.length() == 10) {
+ return LocalDate.parse(text, DATE_FORMATTER).atStartOfDay();
+ }
+ return LocalDateTime.parse(text, DATE_TIME_FORMATTER);
}
}
--
Gitblit v1.9.3