Commit 22d2de9dd257278f382f50cc195e9ffef7416e73

Authored by YunaiV
1 parent ba390c67

【代码优化】增强 JDK17、JDK8 之间的兼容性

yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/mq/rabbitmq/TenantRabbitMQInitializer.java
@@ -12,8 +12,10 @@ import org.springframework.beans.factory.config.BeanPostProcessor; @@ -12,8 +12,10 @@ import org.springframework.beans.factory.config.BeanPostProcessor;
12 public class TenantRabbitMQInitializer implements BeanPostProcessor { 12 public class TenantRabbitMQInitializer implements BeanPostProcessor {
13 13
14 @Override 14 @Override
  15 + @SuppressWarnings("PatternVariableCanBeUsed")
15 public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { 16 public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
16 - if (bean instanceof RabbitTemplate rabbitTemplate) { 17 + if (bean instanceof RabbitTemplate) {
  18 + RabbitTemplate rabbitTemplate = (RabbitTemplate) bean;
17 rabbitTemplate.addBeforePublishPostProcessors(new TenantRabbitMQMessagePostProcessor()); 19 rabbitTemplate.addBeforePublishPostProcessors(new TenantRabbitMQMessagePostProcessor());
18 } 20 }
19 return bean; 21 return bean;
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/mq/rocketmq/TenantRocketMQInitializer.java
@@ -17,10 +17,13 @@ import org.springframework.beans.factory.config.BeanPostProcessor; @@ -17,10 +17,13 @@ import org.springframework.beans.factory.config.BeanPostProcessor;
17 public class TenantRocketMQInitializer implements BeanPostProcessor { 17 public class TenantRocketMQInitializer implements BeanPostProcessor {
18 18
19 @Override 19 @Override
  20 + @SuppressWarnings("PatternVariableCanBeUsed")
20 public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { 21 public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
21 - if (bean instanceof DefaultRocketMQListenerContainer container) { 22 + if (bean instanceof DefaultRocketMQListenerContainer) {
  23 + DefaultRocketMQListenerContainer container = (DefaultRocketMQListenerContainer) bean;
22 initTenantConsumer(container.getConsumer()); 24 initTenantConsumer(container.getConsumer());
23 - } else if (bean instanceof RocketMQTemplate template) { 25 + } else if (bean instanceof RocketMQTemplate) {
  26 + RocketMQTemplate template = (RocketMQTemplate) bean;
24 initTenantProducer(template.getProducer()); 27 initTenantProducer(template.getProducer());
25 } 28 }
26 return bean; 29 return bean;
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/config/YudaoAsyncAutoConfiguration.java
@@ -21,15 +21,18 @@ public class YudaoAsyncAutoConfiguration { @@ -21,15 +21,18 @@ public class YudaoAsyncAutoConfiguration {
21 return new BeanPostProcessor() { 21 return new BeanPostProcessor() {
22 22
23 @Override 23 @Override
  24 + @SuppressWarnings("PatternVariableCanBeUsed")
24 public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { 25 public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
25 // 处理 ThreadPoolTaskExecutor 26 // 处理 ThreadPoolTaskExecutor
26 - if (bean instanceof ThreadPoolTaskExecutor executor) { 27 + if (bean instanceof ThreadPoolTaskExecutor) {
  28 + ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) bean;
27 executor.setTaskDecorator(TtlRunnable::get); 29 executor.setTaskDecorator(TtlRunnable::get);
28 return executor; 30 return executor;
29 } 31 }
30 // 处理 SimpleAsyncTaskExecutor 32 // 处理 SimpleAsyncTaskExecutor
31 // 参考 https://t.zsxq.com/CBoks 增加 33 // 参考 https://t.zsxq.com/CBoks 增加
32 - if (bean instanceof SimpleAsyncTaskExecutor executor) { 34 + if (bean instanceof SimpleAsyncTaskExecutor) {
  35 + SimpleAsyncTaskExecutor executor = (SimpleAsyncTaskExecutor) bean;
33 executor.setTaskDecorator(TtlRunnable::get); 36 executor.setTaskDecorator(TtlRunnable::get);
34 return executor; 37 return executor;
35 } 38 }
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/handler/DefaultDBFieldHandler.java
@@ -18,8 +18,10 @@ import java.util.Objects; @@ -18,8 +18,10 @@ import java.util.Objects;
18 public class DefaultDBFieldHandler implements MetaObjectHandler { 18 public class DefaultDBFieldHandler implements MetaObjectHandler {
19 19
20 @Override 20 @Override
  21 + @SuppressWarnings("PatternVariableCanBeUsed")
21 public void insertFill(MetaObject metaObject) { 22 public void insertFill(MetaObject metaObject) {
22 - if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO baseDO) { 23 + if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) {
  24 + BaseDO baseDO = (BaseDO) metaObject.getOriginalObject();
23 25
24 LocalDateTime current = LocalDateTime.now(); 26 LocalDateTime current = LocalDateTime.now();
25 // 创建时间为空,则以当前时间为插入时间 27 // 创建时间为空,则以当前时间为插入时间
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/handler/GlobalExceptionHandler.java
@@ -182,9 +182,11 @@ public class GlobalExceptionHandler { @@ -182,9 +182,11 @@ public class GlobalExceptionHandler {
182 * 例如说,接口上设置了 @RequestBody 实体中 xx 属性类型为 Integer,结果传递 xx 参数类型为 String 182 * 例如说,接口上设置了 @RequestBody 实体中 xx 属性类型为 Integer,结果传递 xx 参数类型为 String
183 */ 183 */
184 @ExceptionHandler(HttpMessageNotReadableException.class) 184 @ExceptionHandler(HttpMessageNotReadableException.class)
  185 + @SuppressWarnings("PatternVariableCanBeUsed")
185 public CommonResult<?> methodArgumentTypeInvalidFormatExceptionHandler(HttpMessageNotReadableException ex) { 186 public CommonResult<?> methodArgumentTypeInvalidFormatExceptionHandler(HttpMessageNotReadableException ex) {
186 log.warn("[methodArgumentTypeInvalidFormatExceptionHandler]", ex); 187 log.warn("[methodArgumentTypeInvalidFormatExceptionHandler]", ex);
187 - if (ex.getCause() instanceof InvalidFormatException invalidFormatException) { 188 + if (ex.getCause() instanceof InvalidFormatException) {
  189 + InvalidFormatException invalidFormatException = (InvalidFormatException) ex.getCause();
188 return CommonResult.error(BAD_REQUEST.getCode(), String.format("请求参数类型错误:%s", invalidFormatException.getValue())); 190 return CommonResult.error(BAD_REQUEST.getCode(), String.format("请求参数类型错误:%s", invalidFormatException.getValue()));
189 } 191 }
190 if (StrUtil.startWith(ex.getMessage(), "Required request body is missing")) { 192 if (StrUtil.startWith(ex.getMessage(), "Required request body is missing")) {
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/util/WebFrameworkUtils.java
@@ -144,11 +144,13 @@ public class WebFrameworkUtils { @@ -144,11 +144,13 @@ public class WebFrameworkUtils {
144 return (CommonResult<?>) request.getAttribute(REQUEST_ATTRIBUTE_COMMON_RESULT); 144 return (CommonResult<?>) request.getAttribute(REQUEST_ATTRIBUTE_COMMON_RESULT);
145 } 145 }
146 146
  147 + @SuppressWarnings("PatternVariableCanBeUsed")
147 public static HttpServletRequest getRequest() { 148 public static HttpServletRequest getRequest() {
148 RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); 149 RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
149 - if (!(requestAttributes instanceof ServletRequestAttributes servletRequestAttributes)) { 150 + if (!(requestAttributes instanceof ServletRequestAttributes)) {
150 return null; 151 return null;
151 } 152 }
  153 + ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;
152 return servletRequestAttributes.getRequest(); 154 return servletRequestAttributes.getRequest();
153 } 155 }
154 156
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/core/AuthRequestFactory.java
@@ -77,8 +77,7 @@ public class AuthRequestFactory { @@ -77,8 +77,7 @@ public class AuthRequestFactory {
77 extendList = extend.getConfig() 77 extendList = extend.getConfig()
78 .keySet() 78 .keySet()
79 .stream() 79 .stream()
80 - .map(String::toUpperCase)  
81 - .filter(names::contains) 80 + .filter(x -> names.contains(x.toUpperCase()))
82 .collect(Collectors.toList()); 81 .collect(Collectors.toList());
83 } 82 }
84 83
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/AliyunSmsClient.java
@@ -113,13 +113,14 @@ public class AliyunSmsClient extends AbstractSmsClient { @@ -113,13 +113,14 @@ public class AliyunSmsClient extends AbstractSmsClient {
113 } 113 }
114 114
115 @VisibleForTesting 115 @VisibleForTesting
  116 + @SuppressWarnings("EnhancedSwitchMigration")
116 Integer convertSmsTemplateAuditStatus(Integer templateStatus) { 117 Integer convertSmsTemplateAuditStatus(Integer templateStatus) {
117 - return switch (templateStatus) {  
118 - case 0 -> SmsTemplateAuditStatusEnum.CHECKING.getStatus();  
119 - case 1 -> SmsTemplateAuditStatusEnum.SUCCESS.getStatus();  
120 - case 2 -> SmsTemplateAuditStatusEnum.FAIL.getStatus();  
121 - default -> throw new IllegalArgumentException(String.format("未知审核状态(%d)", templateStatus));  
122 - }; 118 + switch (templateStatus) {
  119 + case 0: return SmsTemplateAuditStatusEnum.CHECKING.getStatus();
  120 + case 1: return SmsTemplateAuditStatusEnum.SUCCESS.getStatus();
  121 + case 2: return SmsTemplateAuditStatusEnum.FAIL.getStatus();
  122 + default: throw new IllegalArgumentException(String.format("未知审核状态(%d)", templateStatus));
  123 + }
123 } 124 }
124 125
125 /** 126 /**