From 7e613f8da611c984b6638015d9e0a697f1cfde48 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 29 七月 2021 13:11:35 +0800
Subject: [PATCH] add 增加 jackson 超出 JS 最大数值自动转字符串(雪花id序列化)处理

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java |    8 ++++++++
 1 files changed, 8 insertions(+), 0 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..4346610 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,15 +2,19 @@
 
 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.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.time.LocalDateTime;
 import java.util.TimeZone;
 
@@ -34,6 +38,10 @@
 				ObjectMapper objectMapper = (ObjectMapper) bean;
 				// 鍏ㄥ眬閰嶇疆搴忓垪鍖栬繑鍥� 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);
 				simpleModule.addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE);
 				simpleModule.addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE);
 				objectMapper.registerModule(simpleModule);

--
Gitblit v1.9.3