feat: bug-763 字段搜索时,默认去除搜索关键字的前后空格

This commit is contained in:
曹鹏飞 2025-09-28 10:21:53 +08:00
parent 429a9ed448
commit 7b76691afa
1 changed files with 25 additions and 5 deletions

View File

@ -1,7 +1,9 @@
package com.nflg.wms.starter.config; package com.nflg.wms.starter.config;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@ -27,14 +29,15 @@ public class JacksonConfig {
public ObjectMapper objectMapper() { public ObjectMapper objectMapper() {
return new ObjectMapper() return new ObjectMapper()
.registerModule(new JavaTimeModule()) .registerModule(new JavaTimeModule())
.registerModule(customDateTimeModule()) .registerModule(dateTimeModule())
.registerModule(bigDecimalModule()) .registerModule(bigDecimalModule())
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false) .registerModule(stringModule())
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.configure(SerializationFeature.INDENT_OUTPUT, false); .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(SerializationFeature.INDENT_OUTPUT);
} }
private SimpleModule customDateTimeModule() { private SimpleModule dateTimeModule() {
SimpleModule module = new SimpleModule(); SimpleModule module = new SimpleModule();
module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
@ -52,6 +55,12 @@ public class JacksonConfig {
return module; return module;
} }
private SimpleModule stringModule() {
SimpleModule module = new SimpleModule();
module.addDeserializer(String.class, new TrimStringDeserializer());
return module;
}
public static class BigDecimalPlainSerializer extends JsonSerializer<BigDecimal> { public static class BigDecimalPlainSerializer extends JsonSerializer<BigDecimal> {
@Override @Override
public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers)
@ -64,4 +73,15 @@ public class JacksonConfig {
} }
} }
} }
/**
* 去除字符串首尾空格
*/
public static class TrimStringDeserializer extends JsonDeserializer<String> {
@Override
public String deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException {
return StrUtil.trim(p.getValueAsString());
}
}
} }