package com.glxp.api.config.serializer; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import lombok.extern.slf4j.Slf4j; import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** * 字符串转Long类型 */ @Slf4j public class LocalDateTimeJsonDeserializer extends JsonDeserializer { @Override public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { String value = p.getText(); try { return StrUtil.isEmpty(value) ? null : LocalDateTimeUtil.parse(value, DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); } catch (Exception e) { log.error("日期格式解析错误", e); return null; } } }