“mitao”
2026-03-14 b8fef243e04606745cf922a59c9ce3005284b3a0
bugfix
1个文件已添加
1个文件已修改
42 ■■■■■ 已修改文件
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/config/JacksonLocalTimeConfig.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/dto/TaskRuleDetailDto.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/config/JacksonLocalTimeConfig.java
New file
@@ -0,0 +1,41 @@
package com.xiaopeng.maintenance.config;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
/**
 * Jackson LocalTime 序列化/反序列化配置
 *
 * <p>兼容前端以 HH:mm(无秒)传参的场景,同时支持 HH:mm:ss(带秒)。</p>
 */
@Configuration
public class JacksonLocalTimeConfig {
    /**
     * LocalTime 反序列化:兼容 HH:mm / HH:mm:ss
     */
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer localTimeDeserializerCustomizer() {
        DateTimeFormatter parseFormatter = new DateTimeFormatterBuilder()
                .appendPattern("HH:mm")
                .optionalStart()
                .appendPattern(":ss")
                .optionalEnd()
                .toFormatter();
        DateTimeFormatter writeFormatter = DateTimeFormatter.ofPattern("HH:mm");
        return builder -> {
            builder.deserializerByType(LocalTime.class, new LocalTimeDeserializer(parseFormatter));
            builder.serializerByType(LocalTime.class, new LocalTimeSerializer(writeFormatter));
        };
    }
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/dto/TaskRuleDetailDto.java
@@ -9,7 +9,6 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.time.LocalTime;
import java.util.List;
@Data