mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	Merge branch 'master' of https://gitee.com/zhijiantianya/ruoyi-vue-pro into feature/1.8.0-uniapp
# Conflicts: # yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/jackson/config/YudaoJacksonAutoConfiguration.java # yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/notify/PayNotifyServiceImpl.java # yudao-ui-admin/src/views/mall/trade/order/index.vue
This commit is contained in:
		| @@ -11,16 +11,14 @@ import cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration; | ||||
| import cn.iocoder.yudao.module.infra.api.logger.ApiAccessLogApi; | ||||
| import cn.iocoder.yudao.module.infra.api.logger.ApiErrorLogApi; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.boot.autoconfigure.AutoConfigureAfter; | ||||
| import org.springframework.boot.autoconfigure.AutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||||
| import org.springframework.boot.web.servlet.FilterRegistrationBean; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
|  | ||||
| import javax.servlet.Filter; | ||||
|  | ||||
| @Configuration(proxyBeanMethods = false) | ||||
| @AutoConfigureAfter(YudaoWebAutoConfiguration.class) | ||||
| @AutoConfiguration(after = YudaoWebAutoConfiguration.class) | ||||
| public class YudaoApiLogAutoConfiguration { | ||||
|  | ||||
|     @Bean | ||||
|   | ||||
| @@ -1,21 +1,20 @@ | ||||
| package cn.iocoder.yudao.framework.jackson.config; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | ||||
| import cn.iocoder.yudao.framework.jackson.core.databind.NumberSerializer; | ||||
| import cn.iocoder.yudao.framework.jackson.core.databind.LocalDateTimeDeserializer; | ||||
| import cn.iocoder.yudao.framework.jackson.core.databind.LocalDateTimeSerializer; | ||||
| import cn.iocoder.yudao.framework.jackson.core.databind.LocalTimeJson; | ||||
| import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import com.fasterxml.jackson.databind.module.SimpleModule; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.beans.BeansException; | ||||
| import org.springframework.beans.factory.config.BeanPostProcessor; | ||||
| import org.springframework.boot.autoconfigure.AutoConfiguration; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
|  | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.LocalTime; | ||||
|  | ||||
| @Configuration(proxyBeanMethods = false) | ||||
| @AutoConfiguration | ||||
| @Slf4j | ||||
| public class YudaoJacksonAutoConfiguration { | ||||
|  | ||||
| @@ -32,15 +31,12 @@ public class YudaoJacksonAutoConfiguration { | ||||
|                 /* | ||||
|                  * 1. 新增Long类型序列化规则,数值超过2^53-1,在JS会出现精度丢失问题,因此Long自动序列化为字符串类型 | ||||
|                  * 2. 新增LocalDateTime序列化、反序列化规则 | ||||
|                  * 3. 新增LocalTime序列化、反序列化规则 | ||||
|                  */ | ||||
|                 simpleModule | ||||
| //                .addSerializer(Long.class, ToStringSerializer.instance) | ||||
| //                    .addSerializer(Long.TYPE, ToStringSerializer.instance) | ||||
|                         .addSerializer(Long.class, NumberSerializer.INSTANCE) | ||||
|                         .addSerializer(Long.TYPE, NumberSerializer.INSTANCE) | ||||
|                         .addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE) | ||||
|                         .addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE) | ||||
|                         .addSerializer(LocalTime.class, LocalTimeJson.SERIALIZER) | ||||
|                         .addDeserializer(LocalTime.class, LocalTimeJson.DESERIALIZABLE); | ||||
|                         .addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE); | ||||
|  | ||||
|                 objectMapper.registerModules(simpleModule); | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,37 @@ | ||||
| package cn.iocoder.yudao.framework.jackson.core.databind; | ||||
|  | ||||
| import com.fasterxml.jackson.core.JsonGenerator; | ||||
| import com.fasterxml.jackson.databind.SerializerProvider; | ||||
| import com.fasterxml.jackson.databind.annotation.JacksonStdImpl; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
| /** | ||||
|  * Long 序列化规则 | ||||
|  * | ||||
|  * 会将超长 long 值转换为 string,解决前端 JavaScript 最大安全整数是 2^53-1 的问题 | ||||
|  * | ||||
|  * @author 星语 | ||||
|  */ | ||||
| @JacksonStdImpl | ||||
| public class NumberSerializer extends com.fasterxml.jackson.databind.ser.std.NumberSerializer { | ||||
|  | ||||
|     private static final long MAX_SAFE_INTEGER = 9007199254740991L; | ||||
|     private static final long MIN_SAFE_INTEGER = -9007199254740991L; | ||||
|  | ||||
|     public static final NumberSerializer INSTANCE = new NumberSerializer(Number.class); | ||||
|  | ||||
|     public NumberSerializer(Class<? extends Number> rawType) { | ||||
|         super(rawType); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void serialize(Number value, JsonGenerator gen, SerializerProvider serializers) throws IOException { | ||||
|         // 超出范围 序列化位字符串 | ||||
|         if (value.longValue() > MIN_SAFE_INTEGER && value.longValue() < MAX_SAFE_INTEGER) { | ||||
|             super.serialize(value, gen, serializers); | ||||
|         } else { | ||||
|             gen.writeString(value.toString()); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -2,11 +2,11 @@ package cn.iocoder.yudao.framework.swagger.config; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.swagger.core.SpringFoxHandlerProviderBeanPostProcessor; | ||||
| import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; | ||||
| import org.springframework.boot.autoconfigure.AutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.http.HttpHeaders; | ||||
| import springfox.documentation.builders.ApiInfoBuilder; | ||||
| import springfox.documentation.builders.ExampleBuilder; | ||||
| @@ -29,7 +29,7 @@ import static springfox.documentation.builders.RequestHandlerSelectors.basePacka | ||||
|  * | ||||
|  * @author 芋道源码 | ||||
|  */ | ||||
| @Configuration(proxyBeanMethods = false) | ||||
| @AutoConfiguration | ||||
| @EnableSwagger2 | ||||
| @EnableKnife4j | ||||
| @ConditionalOnClass({Docket.class, ApiInfoBuilder.class}) | ||||
|   | ||||
| @@ -9,11 +9,11 @@ import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; | ||||
| import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler; | ||||
| import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.boot.autoconfigure.AutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||
| import org.springframework.boot.web.servlet.FilterRegistrationBean; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.util.AntPathMatcher; | ||||
| import org.springframework.util.PathMatcher; | ||||
| import org.springframework.web.bind.annotation.RestController; | ||||
| @@ -26,7 +26,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; | ||||
| import javax.annotation.Resource; | ||||
| import javax.servlet.Filter; | ||||
|  | ||||
| @Configuration(proxyBeanMethods = false) | ||||
| @AutoConfiguration | ||||
| @EnableConfigurationProperties({WebProperties.class, XssProperties.class}) | ||||
| public class YudaoWebAutoConfiguration implements WebMvcConfigurer { | ||||
|  | ||||
|   | ||||
| @@ -1,5 +0,0 @@ | ||||
| org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ | ||||
|   cn.iocoder.yudao.framework.apilog.config.YudaoApiLogAutoConfiguration,\ | ||||
|   cn.iocoder.yudao.framework.jackson.config.YudaoJacksonAutoConfiguration,\ | ||||
|   cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration,\ | ||||
|   cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration | ||||
| @@ -0,0 +1,4 @@ | ||||
| cn.iocoder.yudao.framework.apilog.config.YudaoApiLogAutoConfiguration | ||||
| cn.iocoder.yudao.framework.jackson.config.YudaoJacksonAutoConfiguration | ||||
| cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration | ||||
| cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV