sys_msg_todo相关
parent
e88a9046d3
commit
4b0099fa2d
@ -0,0 +1,34 @@
|
||||
package com.glxp.api.config;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
import com.glxp.api.config.serializer.*;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Configuration
|
||||
public class JacksonConfig {
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
// @ConditionalOnMissingBean(ObjectMapper.class)
|
||||
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
|
||||
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
|
||||
SimpleModule simpleModule = new SimpleModule();
|
||||
|
||||
simpleModule.addSerializer(Long.class, new LongJsonSerializer());
|
||||
simpleModule.addDeserializer(Long.class, new LongJsonDeserializer());
|
||||
simpleModule.addSerializer(LocalDate.class, new LocalDateJsonSerializer());
|
||||
simpleModule.addDeserializer(LocalDate.class, new LocalDateJsonDeserializer());
|
||||
simpleModule.addSerializer(LocalDateTime.class, new LocalDateTimeJsonSerializer());
|
||||
simpleModule.addDeserializer(LocalDateTime.class, new LocalDateTimeJsonDeserializer());
|
||||
|
||||
objectMapper.registerModule(simpleModule);
|
||||
return objectMapper;
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.glxp.api.config.serializer;
|
||||
|
||||
import cn.hutool.json.JSONNull;
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
||||
import org.springframework.boot.jackson.JsonComponent;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@JsonComponent
|
||||
public class JsonNullSerializer extends JsonSerializer<JSONNull> {
|
||||
@Override
|
||||
public void serialize(JSONNull jsonNull, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
|
||||
jsonGenerator.writeNull();
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.glxp.api.config.serializer;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* 字符串转Long类型
|
||||
*/
|
||||
@Slf4j
|
||||
public class LocalDateJsonDeserializer extends JsonDeserializer<LocalDate> {
|
||||
|
||||
@Override
|
||||
public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
|
||||
String value = p.getText();
|
||||
try {
|
||||
return StrUtil.isEmpty(value) ? null : LocalDateTimeUtil.parseDate(value, DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||
} catch (Exception e) {
|
||||
log.error("日期格式解析错误", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.glxp.api.config.serializer;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* 字符串转Long类型
|
||||
*/
|
||||
@Slf4j
|
||||
public class LocalDateTimeJsonDeserializer extends JsonDeserializer<LocalDateTime> {
|
||||
|
||||
@Override
|
||||
public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
|
||||
String value = p.getText();
|
||||
try {
|
||||
return StrUtil.isEmpty(value) ? null : LocalDateTimeUtil.parse(value, DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN));
|
||||
} catch (Exception e) {
|
||||
log.error("日期格式解析错误", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.glxp.api.config.serializer;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 字符串转Long类型
|
||||
*/
|
||||
@Slf4j
|
||||
public class LongJsonDeserializer extends JsonDeserializer<Long> {
|
||||
|
||||
@Override
|
||||
public Long deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
|
||||
String value = p.getText();
|
||||
return StrUtil.isEmpty(value) ? null : Long.parseLong(value);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.glxp.api.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DealStatusEnum {
|
||||
|
||||
NOT_CONFIRMED("not_confirmed", 1, "未处理"),
|
||||
|
||||
CONFIRMED("confirmed", 2, "已处理"),
|
||||
;
|
||||
|
||||
final String key;
|
||||
@EnumValue
|
||||
final Integer value;
|
||||
final String desc;
|
||||
}
|
@ -1,8 +1,19 @@
|
||||
package com.glxp.api.req.system;
|
||||
|
||||
import com.glxp.api.enums.DealStatusEnum;
|
||||
import com.glxp.api.enums.PushStatusEnum;
|
||||
import com.glxp.api.enums.TodoMsgTypeEnum;
|
||||
import com.glxp.api.util.page.ListPageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SysMsgTodoQuery extends ListPageRequest {
|
||||
|
||||
TodoMsgTypeEnum msgType;
|
||||
PushStatusEnum pushStatus;
|
||||
DealStatusEnum dealStatus;
|
||||
|
||||
String invCode;
|
||||
|
||||
String deptCode;
|
||||
}
|
||||
|
Loading…
Reference in New Issue