From f070627221ce33fb1b62fb7748c80ce9982d0b9f Mon Sep 17 00:00:00 2001
From: sugus <1020570875@qq.com>
Date: Thu, 10 Jul 2025 09:49:44 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0JDK17?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
aircraft-common/pom.xml | 5 ++
.../com/aircraft/config/JacksonConfig.java | 76 +++++++++++++++++++
aircraft-system/pom.xml | 10 +++
.../src/main/java/com/aircraft/AppRun.java | 2 +
.../com/aircraft/generate/MysqlGenerator.java | 2 +-
.../EladminSystemApplicationTests.java | 7 ++
pom.xml | 2 +-
7 files changed, 102 insertions(+), 2 deletions(-)
create mode 100644 aircraft-common/src/main/java/com/aircraft/config/JacksonConfig.java
diff --git a/aircraft-common/pom.xml b/aircraft-common/pom.xml
index 2d32fd7..2dd7015 100644
--- a/aircraft-common/pom.xml
+++ b/aircraft-common/pom.xml
@@ -20,5 +20,10 @@
hutool-all
${hutool.version}
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+ 2.12.7
+
\ No newline at end of file
diff --git a/aircraft-common/src/main/java/com/aircraft/config/JacksonConfig.java b/aircraft-common/src/main/java/com/aircraft/config/JacksonConfig.java
new file mode 100644
index 0000000..a5ab917
--- /dev/null
+++ b/aircraft-common/src/main/java/com/aircraft/config/JacksonConfig.java
@@ -0,0 +1,76 @@
+package com.aircraft.config;
+
+import cn.hutool.core.date.DateUtil;
+import com.fasterxml.jackson.databind.deser.std.DateDeserializers;
+import com.fasterxml.jackson.databind.ser.std.DateSerializer;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.text.DateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+
+/**
+ * Author sjc
+ * Date 2024/7/30 15:44
+ */
+
+@Configuration
+@Slf4j
+public class JacksonConfig {
+
+ /**
+ * DateTime格式化字符串
+ */
+ private static final String DEFAULT_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
+
+ /**
+ * Date格式化字符串
+ */
+ private static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";
+
+ /**
+ * Time格式化字符串
+ */
+ private static final String DEFAULT_TIME_PATTERN = "HH:mm:ss";
+
+ private static final String DEFAULT_TIME_ZONE = "GMT+8";
+
+ /**
+ * Jackson序列化和反序列化转换器,用于转换Post请求体中的json以及将对象序列化为返回响应的json
+ */
+ @Bean
+ public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
+ DateFormat dateTimeDf = DateUtil.newSimpleFormat(DEFAULT_DATETIME_PATTERN, Locale.CHINA, TimeZone.getTimeZone(DEFAULT_TIME_ZONE));
+ DateTimeFormatter dateTimeDtf = DateTimeFormatter.ofPattern(DEFAULT_DATETIME_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
+ DateTimeFormatter dateDtf = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
+ DateTimeFormatter timeDtf = DateTimeFormatter.ofPattern(DEFAULT_TIME_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
+ return builder -> builder
+ .serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(dateTimeDtf))
+ .serializerByType(LocalDate.class, new LocalDateSerializer(dateDtf))
+ .serializerByType(LocalTime.class, new LocalTimeSerializer(timeDtf))
+ .serializerByType(Date.class, new DateSerializer(false, dateTimeDf))
+ .deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(dateTimeDtf))
+ .deserializerByType(LocalDate.class, new LocalDateDeserializer(dateDtf))
+ .deserializerByType(LocalTime.class, new LocalTimeDeserializer(timeDtf))
+ .deserializerByType(Date.class, new DateDeserializers.DateDeserializer(DateDeserializers.DateDeserializer.instance, dateTimeDf, DEFAULT_DATETIME_PATTERN))
+ .serializerByType(Long.TYPE, ToStringSerializer.instance)
+ .serializerByType(Long.class, ToStringSerializer.instance);
+ }
+
+}
diff --git a/aircraft-system/pom.xml b/aircraft-system/pom.xml
index aa90fe7..62fa5fa 100644
--- a/aircraft-system/pom.xml
+++ b/aircraft-system/pom.xml
@@ -87,6 +87,7 @@
org.springframework.boot
spring-boot-maven-plugin
+
org.apache.maven.plugins
@@ -95,6 +96,15 @@
true
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+
+ 17
+
+
diff --git a/aircraft-system/src/main/java/com/aircraft/AppRun.java b/aircraft-system/src/main/java/com/aircraft/AppRun.java
index 2d3d207..5cd4003 100644
--- a/aircraft-system/src/main/java/com/aircraft/AppRun.java
+++ b/aircraft-system/src/main/java/com/aircraft/AppRun.java
@@ -19,6 +19,7 @@ import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import com.aircraft.annotation.rest.AnonymousGetMapping;
import com.aircraft.utils.SpringBeanHolder;
+import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.ApplicationPidFileWriter;
@@ -36,6 +37,7 @@ import org.springframework.web.bind.annotation.RestController;
@Api(hidden = true)
@SpringBootApplication
@EnableTransactionManagement
+@MapperScan("com.aircraft.**.mapper")
public class AppRun {
public static void main(String[] args) {
diff --git a/aircraft-system/src/main/java/com/aircraft/generate/MysqlGenerator.java b/aircraft-system/src/main/java/com/aircraft/generate/MysqlGenerator.java
index 06f883c..f7fc461 100644
--- a/aircraft-system/src/main/java/com/aircraft/generate/MysqlGenerator.java
+++ b/aircraft-system/src/main/java/com/aircraft/generate/MysqlGenerator.java
@@ -52,7 +52,7 @@ public class MysqlGenerator extends SuperGenerator {
public static void main(String[] args) {
MysqlGenerator mysqlGenerator = new MysqlGenerator();
// Arrays.asList("user","role","user_role").stream().forEach(table -> {
- Arrays.asList("ttt").stream().forEach(table -> {
+ Arrays.asList("fms_ac_aircraft_device").stream().forEach(table -> {
mysqlGenerator.generator(table);
});
}
diff --git a/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java b/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java
index 92bf537..c6ffd39 100644
--- a/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java
+++ b/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java
@@ -1,13 +1,20 @@
package com.aircraft;
+import com.aircraft.modules.system.domain.FmsAcAircraftDevice;
+import com.aircraft.modules.system.service.FmsAcAircraftDeviceService;
import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+@ActiveProfiles("dev")
public class EladminSystemApplicationTests {
+
@Test
public void contextLoads() {
+
}
public static void main(String[] args) {
diff --git a/pom.xml b/pom.xml
index a0c25c1..99b590d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
1.2.9
UTF-8
UTF-8
- 1.8
+ 17
2.0.54
1.2.19
2.11.1