feat(sj_1.1.0-beta1): 添加String=>LocalDateTime Mvc转换

This commit is contained in:
dhb52 2024-06-16 10:45:34 +08:00
parent 33e595ca2d
commit f51404bba0
2 changed files with 39 additions and 0 deletions

View File

@ -182,4 +182,20 @@ public interface SystemConstants {
* 组名场景名空间ID通用正则
*/
String REGEXP = "^[A-Za-z0-9_-]{1,64}$";
/**
* 长时间格式
*/
String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
/**
*
*/
String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
/**
* 短时间格式
*/
String YYYY_MM_DD = "yyyy-MM-dd";
}

View File

@ -1,14 +1,20 @@
package com.aizuda.snailjob.server.web.interceptor;
import cn.hutool.core.date.LocalDateTimeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
import org.springframework.format.FormatterRegistry;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.time.LocalDateTime;
import java.util.List;
import static com.aizuda.snailjob.common.core.constant.SystemConstants.YYYY_MM_DD_HH_MM_SS;
/**
* @author opensnail
* @date 2022-03-06
@ -41,4 +47,21 @@ public class SnailJobWebMvcConfigurerAdapter implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/admin/**").addResourceLocations("classpath:/admin/");
}
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new Converter<String, LocalDateTime>() {
@Override
public LocalDateTime convert(String source) {
try {
// 尝试解析为时间戳
Long timestamp = Long.valueOf(source);
return LocalDateTimeUtil.of(timestamp);
} catch (NumberFormatException ignore) {
return LocalDateTimeUtil.parse(source, YYYY_MM_DD_HH_MM_SS);
}
}
});
}
}