From 28dbf6116fdca8110651bbe31192f62bd61d1eab Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Wed, 3 Jun 2026 09:00:34 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomLocalDateTimeDeserializer.java | 94 +------------------ .../common/web/config/ResourcesConfig.java | 8 ++ 2 files changed, 13 insertions(+), 89 deletions(-) diff --git a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/handler/CustomLocalDateTimeDeserializer.java b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/handler/CustomLocalDateTimeDeserializer.java index b2851fd4e..068197acf 100644 --- a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/handler/CustomLocalDateTimeDeserializer.java +++ b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/handler/CustomLocalDateTimeDeserializer.java @@ -1,52 +1,20 @@ package org.dromara.common.json.handler; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import tools.jackson.core.JsonParser; 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; -import java.time.format.DateTimeParseException; -import java.util.List; /** - * 自定义 LocalDateTime 类型反序列化处理器(支持多种格式,无第三方依赖) + * 自定义 LocalDateTime 类型反序列化处理器 * * @author AprilWind */ public class CustomLocalDateTimeDeserializer extends ValueDeserializer { - /** - * 秒级时间戳长度。 - */ - private static final int SECOND_TIMESTAMP_LENGTH = 10; - - /** - * 毫秒级时间戳长度。 - */ - private static final int MILLIS_TIMESTAMP_LENGTH = 13; - - /** 支持时间的格式列表(直接解析为 LocalDateTime) */ - private static final List DATETIME_FORMATTERS = List.of( - DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"), - DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"), - DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"), - DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm"), - DateTimeFormatter.ofPattern("yyyyMMddHHmmss"), - DateTimeFormatter.ofPattern("yyyyMMdd HHmmss"), - DateTimeFormatter.ISO_LOCAL_DATE_TIME - ); - - /** 仅日期的格式列表(解析为 LocalDate,再补零时转 LocalDateTime) */ - private static final List DATE_ONLY_FORMATTERS = List.of( - DateTimeFormatter.ISO_LOCAL_DATE, - DateTimeFormatter.ofPattern("yyyy/MM/dd"), - DateTimeFormatter.BASIC_ISO_DATE - ); - /** * 反序列化逻辑:将字符串转换为 LocalDateTime 对象 * @@ -60,60 +28,8 @@ public class CustomLocalDateTimeDeserializer extends ValueDeserializer { + DateTime parse = DateUtil.parse(source); + if (ObjectUtils.isNull(parse)) { + return null; + } + return parse.toLocalDateTime(); + }); } /**