mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	update 更新 BigNumberSerializer 注释
This commit is contained in:
		@@ -7,11 +7,23 @@ import com.fasterxml.jackson.databind.ser.std.NumberSerializer;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 超出 JS 最大最小值 处理
 | 
			
		||||
 *
 | 
			
		||||
 * @author Lion Li
 | 
			
		||||
 */
 | 
			
		||||
@JacksonStdImpl
 | 
			
		||||
public class BigNumberSerializer extends NumberSerializer {
 | 
			
		||||
 | 
			
		||||
	private static final long JS_NUM_MAX = 9007199254740992L;
 | 
			
		||||
	private static final long JS_NUM_MIN = -9007199254740992L;
 | 
			
		||||
	/**
 | 
			
		||||
	 * 根据 JS Number.MAX_SAFE_INTEGER 与 Number.MIN_SAFE_INTEGER 得来
 | 
			
		||||
	 */
 | 
			
		||||
	private static final long MAX_SAFE_INTEGER = 9007199254740991L;
 | 
			
		||||
	private static final long MIN_SAFE_INTEGER = -9007199254740991L;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 提供实例
 | 
			
		||||
	 */
 | 
			
		||||
	public static final BigNumberSerializer INSTANCE = new BigNumberSerializer(Number.class);
 | 
			
		||||
 | 
			
		||||
	public BigNumberSerializer(Class<? extends Number> rawType) {
 | 
			
		||||
@@ -20,7 +32,8 @@ public class BigNumberSerializer extends NumberSerializer {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void serialize(Number value, JsonGenerator gen, SerializerProvider provider) throws IOException {
 | 
			
		||||
		if (value.longValue() >= JS_NUM_MIN && value.longValue() <= JS_NUM_MAX) {
 | 
			
		||||
		// 超出范围 序列化位字符串
 | 
			
		||||
		if (value.longValue() > MAX_SAFE_INTEGER && value.longValue() < MIN_SAFE_INTEGER) {
 | 
			
		||||
			super.serialize(value, gen, provider);
 | 
			
		||||
		} else {
 | 
			
		||||
			gen.writeString(value.toString());
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user