package cn.iocoder.yudao.framework.common.util.json.databind; import tools.jackson.core.JacksonException; import tools.jackson.core.JsonParser; import tools.jackson.databind.DeserializationContext; import tools.jackson.databind.ValueDeserializer; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; /** * 基于时间戳的 LocalDateTime 反序列化器 * * @author 老五 */ public class TimestampLocalDateTimeDeserializer extends ValueDeserializer { public static final TimestampLocalDateTimeDeserializer INSTANCE = new TimestampLocalDateTimeDeserializer(); @Override public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException { // 将 Long 时间戳,转换为 LocalDateTime 对象 return LocalDateTime.ofInstant(Instant.ofEpochMilli(p.getValueAsLong()), ZoneId.systemDefault()); } }