diff --git a/commons/common-util/pom.xml b/commons/common-util/pom.xml index 211d183b4c06654aa1cf3fae7f2f53a049dfd511..7c121871da2cfd9b867154253e7fdf413ff40600 100644 --- a/commons/common-util/pom.xml +++ b/commons/common-util/pom.xml @@ -19,10 +19,6 @@ com.schbrain.common common - - cglib - cglib - cn.hutool hutool-all @@ -67,11 +63,12 @@ org.bouncycastle bcprov-jdk18on + org.springframework.boot spring-boot-starter-aop + true - org.redisson redisson-spring-boot-starter @@ -100,4 +97,4 @@ - \ No newline at end of file + diff --git a/commons/common-util/src/main/java/com/schbrain/common/util/support/jackson/JavaTimeModule.java b/commons/common-util/src/main/java/com/schbrain/common/util/support/jackson/JavaTimeModule.java index 50d8da0eeec10fb55892bd8bcbb645a5d92ae896..5b676ba4a324aeaf324bfbaf7b113de3f7b77f38 100644 --- a/commons/common-util/src/main/java/com/schbrain/common/util/support/jackson/JavaTimeModule.java +++ b/commons/common-util/src/main/java/com/schbrain/common/util/support/jackson/JavaTimeModule.java @@ -1,11 +1,17 @@ package com.schbrain.common.util.support.jackson; +import cn.hutool.core.date.DatePattern; import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.datatype.jsr310.deser.*; -import com.fasterxml.jackson.datatype.jsr310.ser.*; -import com.schbrain.common.constants.DateTimeFormatters; +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 java.time.*; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; /** * @author liaozan @@ -20,17 +26,13 @@ public class JavaTimeModule extends SimpleModule { } protected void setup() { - this.addSerializer(YearMonth.class, new YearMonthSerializer(DateTimeFormatters.YEAR_MONTH)); - this.addSerializer(MonthDay.class, new MonthDaySerializer(DateTimeFormatters.MONTH_DATE)); - this.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatters.DATE)); - this.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatters.TIME)); - this.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatters.DATE_TIME)); - - this.addDeserializer(YearMonth.class, new YearMonthDeserializer(DateTimeFormatters.YEAR_MONTH)); - this.addDeserializer(MonthDay.class, new MonthDayDeserializer(DateTimeFormatters.MONTH_DATE)); - this.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatters.DATE)); - this.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatters.TIME)); - this.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatters.DATE_TIME)); + this.addSerializer(LocalDate.class, new LocalDateSerializer(DatePattern.NORM_DATE_FORMATTER)); + this.addSerializer(LocalTime.class, new LocalTimeSerializer(DatePattern.NORM_TIME_FORMATTER)); + this.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DatePattern.NORM_DATETIME_FORMATTER)); + + this.addDeserializer(LocalDate.class, new LocalDateDeserializer(DatePattern.NORM_DATE_FORMATTER)); + this.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DatePattern.NORM_TIME_FORMATTER)); + this.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DatePattern.NORM_DATETIME_FORMATTER)); } -} \ No newline at end of file +} diff --git a/commons/common/src/main/java/com/schbrain/common/constants/DateTimeFormatters.java b/commons/common/src/main/java/com/schbrain/common/constants/DateTimeFormatters.java deleted file mode 100644 index 06480dc296963c7a3bde9d0cc48e5a76f131abbf..0000000000000000000000000000000000000000 --- a/commons/common/src/main/java/com/schbrain/common/constants/DateTimeFormatters.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.schbrain.common.constants; - -import java.time.format.DateTimeFormatter; - -import static java.time.ZoneId.systemDefault; -import static java.time.format.DateTimeFormatter.ofPattern; - -/** - * @author liaozan - * @since 2021/10/15 - */ -public class DateTimeFormatters { - - public static final String YEAR_MONTH_PATTERN = "yyyy-MM"; - - public static final String MONTH_DATE_PATTERN = "MM-dd"; - - public static final String DATE_PATTERN = "yyyy-MM-dd"; - - public static final String DATE_PATTERN_WITH_DOT = "yyyy.MM.dd"; - - public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; - - public static final String TIME_PATTERN = "HH:mm:ss"; - - public static final String YEAR_MONTH_WITH_SLASH_PATTERN = "yyyy/MM"; - - public static final String DATE_WITH_SLASH_PATTERN = "yyyy/MM/dd"; - - public static final DateTimeFormatter YEAR_MONTH = ofPattern(YEAR_MONTH_PATTERN).withZone(systemDefault()); - - public static final DateTimeFormatter MONTH_DATE = ofPattern(MONTH_DATE_PATTERN).withZone(systemDefault()); - - public static final DateTimeFormatter DATE = ofPattern(DATE_PATTERN).withZone(systemDefault()); - - public static final DateTimeFormatter DATE_WITH_DOT = ofPattern(DATE_PATTERN_WITH_DOT).withZone(systemDefault()); - - public static final DateTimeFormatter DATE_TIME = ofPattern(DATE_TIME_PATTERN).withZone(systemDefault()); - - public static final DateTimeFormatter TIME = ofPattern(TIME_PATTERN).withZone(systemDefault()); - - public static final DateTimeFormatter YEAR_MONTH_WITH_SLASH = ofPattern(YEAR_MONTH_WITH_SLASH_PATTERN).withZone(systemDefault()); - - public static final DateTimeFormatter DATE_WITH_SLASH = ofPattern(DATE_WITH_SLASH_PATTERN).withZone(systemDefault()); - -} \ No newline at end of file diff --git a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EventDateStringValueJsonProvider.java b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EventDateStringValueJsonProvider.java index d3951112c291f05fecca2a70ffbb5ec7b011c689..240c7b537aaa4a8f062eab38e9d42994c48a67cf 100644 --- a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EventDateStringValueJsonProvider.java +++ b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EventDateStringValueJsonProvider.java @@ -1,14 +1,15 @@ package com.schbrain.framework.autoconfigure.logger.logstash; import ch.qos.logback.classic.spi.ILoggingEvent; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import com.fasterxml.jackson.core.JsonGenerator; -import com.schbrain.common.constants.DateTimeFormatters; import net.logstash.logback.composite.AbstractFieldJsonProvider; import net.logstash.logback.composite.JsonWritingUtils; import java.io.IOException; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; /** * @author liaozan @@ -18,6 +19,8 @@ public class EventDateStringValueJsonProvider extends AbstractFieldJsonProvider< private static final String FIELD_EVENT_DATE = "eventDate"; + private static final DateTimeFormatter DATE_WITH_DOT = DatePattern.createFormatter("yyyy.MM.dd"); + public EventDateStringValueJsonProvider() { setFieldName(FIELD_EVENT_DATE); } @@ -29,7 +32,7 @@ public class EventDateStringValueJsonProvider extends AbstractFieldJsonProvider< private String getEventDate(ILoggingEvent event) { LocalDateTime eventTime = LocalDateTimeUtil.of(event.getTimeStamp()); - return DateTimeFormatters.DATE_WITH_DOT.format(eventTime); + return DATE_WITH_DOT.format(eventTime); } -} \ No newline at end of file +} diff --git a/starters/oss-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/oss/util/OssUtils.java b/starters/oss-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/oss/util/OssUtils.java index 1f8560fc188c02ce7d55fd5489ec4818dcb16ca3..48cff99aa229e8813dfb5cd45f3a023ded3c7405 100644 --- a/starters/oss-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/oss/util/OssUtils.java +++ b/starters/oss-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/oss/util/OssUtils.java @@ -1,5 +1,6 @@ package com.schbrain.framework.autoconfigure.oss.util; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.io.FileUtil; import cn.hutool.core.text.StrFormatter; import cn.hutool.core.util.URLUtil; @@ -14,7 +15,6 @@ import com.aliyuncs.auth.sts.AssumeRoleResponse.Credentials; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; -import com.schbrain.common.constants.DateTimeFormatters; import com.schbrain.common.util.ApplicationName; import com.schbrain.common.util.ValidateUtils; import com.schbrain.framework.autoconfigure.oss.bean.*; @@ -29,6 +29,7 @@ import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.time.*; +import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -37,10 +38,11 @@ import java.util.stream.Collectors; * @author liaozan * @since 2021/12/3 */ -@SuppressWarnings("unused") @Slf4j public class OssUtils { + private static final DateTimeFormatter DATE_WITH_SLASH = DatePattern.createFormatter("yyyy/MM/dd"); + private static OSSClient ossClient; private static DefaultAcsClient stsAcsClient; @@ -189,7 +191,7 @@ public class OssUtils { public static String buildUploadPath(String objectKey) { objectKey = removePossibleSlash(objectKey); - String date = DateTimeFormatters.DATE_WITH_SLASH.format(LocalDate.now()); + String date = DATE_WITH_SLASH.format(LocalDate.now()); return String.format("%s/%s/%s", directory, date, objectKey); } @@ -390,4 +392,4 @@ public class OssUtils { return request; } -} \ No newline at end of file +} diff --git a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/defaults/DefaultPropertiesEnvironmentPostProcessor.java b/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/defaults/DefaultPropertiesEnvironmentPostProcessor.java index 602b534fc7a92de09e56bc8755b6900aa4a54315..e3ee069fc0abecb449a6665ca7de9a7831c466b2 100644 --- a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/defaults/DefaultPropertiesEnvironmentPostProcessor.java +++ b/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/defaults/DefaultPropertiesEnvironmentPostProcessor.java @@ -1,8 +1,8 @@ package com.schbrain.framework.support.spring.defaults; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.text.StrFormatter; import cn.hutool.core.util.ArrayUtil; -import com.schbrain.common.constants.DateTimeFormatters; import com.schbrain.common.util.EnvUtils; import com.schbrain.common.util.PortUtils; import com.schbrain.framework.support.spring.LoggerAwareEnvironmentPostProcessor; @@ -61,10 +61,10 @@ public class DefaultPropertiesEnvironmentPostProcessor extends LoggerAwareEnviro // mvc defaultProperties.put("spring.mvc.throw-exception-if-no-handler-found", true); // datetime - defaultProperties.put("spring.mvc.format.date", DateTimeFormatters.DATE_PATTERN); - defaultProperties.put("spring.mvc.format.time", DateTimeFormatters.TIME_PATTERN); - defaultProperties.put("spring.mvc.format.date-time", DateTimeFormatters.DATE_TIME_PATTERN); - defaultProperties.put("spring.jackson.date-format", DateTimeFormatters.DATE_TIME_PATTERN); + defaultProperties.put("spring.mvc.format.date", DatePattern.NORM_DATE_PATTERN); + defaultProperties.put("spring.mvc.format.time", DatePattern.NORM_TIME_FORMAT); + defaultProperties.put("spring.mvc.format.date-time", DatePattern.NORM_DATETIME_PATTERN); + defaultProperties.put("spring.jackson.date-format", DatePattern.NORM_DATETIME_PATTERN); defaultProperties.put("spring.jackson.time-zone", TimeZone.getDefault()); // others defaultProperties.put("spring.mandatory-file-encoding", StandardCharsets.UTF_8.name()); @@ -111,4 +111,4 @@ public class DefaultPropertiesEnvironmentPostProcessor extends LoggerAwareEnviro return ClassUtils.isPresent("org.apache.dubbo.config.bootstrap.DubboBootstrap", getClass().getClassLoader()); } -} \ No newline at end of file +}