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