From 33d4734161b8f10dbd928a1b19e8518b0d026d4c Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Wed, 4 Oct 2023 17:42:57 +0800 Subject: [PATCH] Polish --- .../datetime/DateTimeConditionalConverter.java | 10 ++++------ .../datetime/StringToDateConditionalConverter.java | 6 ++++++ .../StringToLocalDateTimeConditionalConverter.java | 6 ++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/DateTimeConditionalConverter.java b/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/DateTimeConditionalConverter.java index 45e54bb..44b14cf 100644 --- a/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/DateTimeConditionalConverter.java +++ b/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/DateTimeConditionalConverter.java @@ -23,7 +23,7 @@ abstract class DateTimeConditionalConverter implements ConditionalGenericConv private final TypeDescriptor stringType = TypeDescriptor.valueOf(String.class); private final Map formatters = new ConcurrentHashMap<>(); - public DateTimeConditionalConverter() { + DateTimeConditionalConverter() { this.targetType = TypeDescriptor.valueOf(ResolvableType.forClass(getClass()).getSuperType().getGeneric(0).getRawClass()); } @@ -45,7 +45,7 @@ abstract class DateTimeConditionalConverter implements ConditionalGenericConv return convert((String) source, targetType); } - protected final T convert(String source, TypeDescriptor targetType) { + protected T convert(String source, TypeDescriptor targetType) { if (StringUtils.isBlank(source)) { return null; } @@ -69,14 +69,12 @@ abstract class DateTimeConditionalConverter implements ConditionalGenericConv return pattern; } - protected String defaultPattern() { - return DatePattern.NORM_DATETIME_PATTERN; - } - protected DateTimeFormatter ofPattern(String pattern) { return formatters.computeIfAbsent(pattern, ignore -> DatePattern.createFormatter(pattern)); } + protected abstract String defaultPattern(); + protected abstract T doConvert(Long source); protected abstract T doConvert(String source, DateTimeFormatter formatter); diff --git a/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/StringToDateConditionalConverter.java b/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/StringToDateConditionalConverter.java index d264f4a..e352b3f 100644 --- a/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/StringToDateConditionalConverter.java +++ b/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/StringToDateConditionalConverter.java @@ -1,5 +1,6 @@ package com.schbrain.common.web.support.converter.datetime; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import java.time.format.DateTimeFormatter; @@ -13,6 +14,11 @@ class StringToDateConditionalConverter extends DateTimeConditionalConverter