From 82f1f5d0cf1b51a5d81915e842e01760f404fa74 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 20 十月 2021 13:07:16 +0800
Subject: [PATCH] update 优化xxl-job-admin相关pr代码 增加格式化日志输出与docker镜像

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java |   46 ++++++++++++++++++++++++----------------------
 1 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java
index 8334b2a..55756d4 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java
@@ -2,16 +2,21 @@
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
-import com.ruoyi.common.utils.JsonUtils;
+import com.ruoyi.framework.jackson.BigNumberSerializer;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.config.BeanPostProcessor;
+import org.springframework.boot.autoconfigure.jackson.JacksonProperties;
 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.math.BigDecimal;
+import java.math.BigInteger;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.TimeZone;
 
 /**
@@ -23,26 +28,23 @@
 @Configuration
 public class JacksonConfig {
 
+	@Primary
 	@Bean
-	public BeanPostProcessor objectMapperBeanPostProcessor() {
-		return new BeanPostProcessor() {
-			@Override
-			public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
-				if (!(bean instanceof ObjectMapper)) {
-					return bean;
-				}
-				ObjectMapper objectMapper = (ObjectMapper) bean;
-				// 鍏ㄥ眬閰嶇疆搴忓垪鍖栬繑鍥� JSON 澶勭悊
-				SimpleModule simpleModule = new SimpleModule();
-				simpleModule.addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE);
-				simpleModule.addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE);
-				objectMapper.registerModule(simpleModule);
-				objectMapper.setTimeZone(TimeZone.getDefault());
-				JsonUtils.init(objectMapper);
-				log.info("鍒濆鍖� jackson 閰嶇疆");
-				return bean;
-			}
-		};
+	public ObjectMapper getObjectMapper(Jackson2ObjectMapperBuilder builder, JacksonProperties jacksonProperties) {
+		ObjectMapper objectMapper = builder.createXmlMapper(false).build();
+		// 鍏ㄥ眬閰嶇疆搴忓垪鍖栬繑鍥� JSON 澶勭悊
+		SimpleModule simpleModule = new SimpleModule();
+		simpleModule.addSerializer(Long.class, BigNumberSerializer.INSTANCE);
+		simpleModule.addSerializer(Long.TYPE, BigNumberSerializer.INSTANCE);
+		simpleModule.addSerializer(BigInteger.class, BigNumberSerializer.INSTANCE);
+		simpleModule.addSerializer(BigDecimal.class, ToStringSerializer.instance);
+		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(jacksonProperties.getDateFormat());
+		simpleModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(formatter));
+		simpleModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(formatter));
+		objectMapper.registerModule(simpleModule);
+		objectMapper.setTimeZone(TimeZone.getDefault());
+		log.info("鍒濆鍖� jackson 閰嶇疆");
+		return objectMapper;
 	}
 
 }

--
Gitblit v1.9.3