diff --git a/src/main/java/com/sczx/order/config/LocalDateTimeConfig.java b/src/main/java/com/sczx/order/config/LocalDateTimeConfig.java new file mode 100644 index 0000000..ad7888a --- /dev/null +++ b/src/main/java/com/sczx/order/config/LocalDateTimeConfig.java @@ -0,0 +1,53 @@ +package com.sczx.order.config; + +import com.fasterxml.jackson.databind.Module; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; + +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.TimeZone; + +@Configuration +public class LocalDateTimeConfig { + + @Bean + @Primary + public Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder() { + return new Jackson2ObjectMapperBuilder() + .dateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")) + .timeZone(TimeZone.getTimeZone("GMT+8")); + } + + /** + * LocalDate 类型序列化 + */ + @Bean + @Primary + public LocalDateTimeSerializer localDateTimeSerializer() { + return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } + + /** + * LocalDate 类型反序列化 + */ + @Bean + @Primary + public LocalDateTimeDeserializer localDateTimeDeserializer() { + return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } + + @Bean + public Module localDateTimeModule() { + SimpleModule module = new SimpleModule(); + module.addSerializer(LocalDateTime.class, localDateTimeSerializer()); + module.addDeserializer(LocalDateTime.class, localDateTimeDeserializer()); + return module; + } +}