diff --git a/pom.xml b/pom.xml
index ba001d2..679ef5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.3
+ 1.5.4
pom
ZKH Framework
A Java framework for ZKH applications
diff --git a/zkh-common/pom.xml b/zkh-common/pom.xml
index 91c7c28..a3bbfc2 100644
--- a/zkh-common/pom.xml
+++ b/zkh-common/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.3
+ 1.5.4
zkh-common
diff --git a/zkh-common/src/main/java/vip/jcfd/common/core/BaseEntity.java b/zkh-common/src/main/java/vip/jcfd/common/core/BaseEntity.java
index 76b5f72..7a5e0df 100644
--- a/zkh-common/src/main/java/vip/jcfd/common/core/BaseEntity.java
+++ b/zkh-common/src/main/java/vip/jcfd/common/core/BaseEntity.java
@@ -8,72 +8,73 @@ import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
+import java.io.Serializable;
import java.time.LocalDateTime;
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
-public class BaseEntity {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
+public class BaseEntity implements Serializable {
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
- @Column
- @CreatedDate
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime createTime;
+ @Column
+ @CreatedDate
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
- @Column
- @LastModifiedDate
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime updateTime;
+ @Column
+ @LastModifiedDate
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
- @Column
- @CreatedBy
- private String createBy;
+ @Column
+ @CreatedBy
+ private String createBy;
- @Column
- @LastModifiedBy
- private String updateBy;
+ @Column
+ @LastModifiedBy
+ private String updateBy;
- public Long getId() {
- return id;
- }
+ public Long getId() {
+ return id;
+ }
- public void setId(Long id) {
- this.id = id;
- }
+ public void setId(Long id) {
+ this.id = id;
+ }
- public LocalDateTime getCreateTime() {
- return createTime;
- }
+ public LocalDateTime getCreateTime() {
+ return createTime;
+ }
- public void setCreateTime(LocalDateTime createTime) {
- this.createTime = createTime;
- }
+ public void setCreateTime(LocalDateTime createTime) {
+ this.createTime = createTime;
+ }
- public LocalDateTime getUpdateTime() {
- return updateTime;
- }
+ public LocalDateTime getUpdateTime() {
+ return updateTime;
+ }
- public void setUpdateTime(LocalDateTime updateTime) {
- this.updateTime = updateTime;
- }
+ public void setUpdateTime(LocalDateTime updateTime) {
+ this.updateTime = updateTime;
+ }
- public String getCreateBy() {
- return createBy;
- }
+ public String getCreateBy() {
+ return createBy;
+ }
- public void setCreateBy(String createBy) {
- this.createBy = createBy;
- }
+ public void setCreateBy(String createBy) {
+ this.createBy = createBy;
+ }
- public String getUpdateBy() {
- return updateBy;
- }
+ public String getUpdateBy() {
+ return updateBy;
+ }
- public void setUpdateBy(String updateBy) {
- this.updateBy = updateBy;
- }
+ public void setUpdateBy(String updateBy) {
+ this.updateBy = updateBy;
+ }
}
diff --git a/zkh-data/pom.xml b/zkh-data/pom.xml
index 4795d31..f1d2b3a 100644
--- a/zkh-data/pom.xml
+++ b/zkh-data/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.3
+ 1.5.4
zkh-data
diff --git a/zkh-file/pom.xml b/zkh-file/pom.xml
index 2f83daa..fcedc59 100644
--- a/zkh-file/pom.xml
+++ b/zkh-file/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.3
+ 1.5.4
zkh-file
diff --git a/zkh-log/pom.xml b/zkh-log/pom.xml
index 2ab14ed..804a008 100644
--- a/zkh-log/pom.xml
+++ b/zkh-log/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.3
+ 1.5.4
zkh-log
diff --git a/zkh-web/pom.xml b/zkh-web/pom.xml
index c9580e5..84947f3 100644
--- a/zkh-web/pom.xml
+++ b/zkh-web/pom.xml
@@ -7,7 +7,7 @@
vip.jcfd
zkh-framework
- 1.5.3
+ 1.5.4
zkh-web
diff --git a/zkh-web/src/main/java/vip/jcfd/web/config/JacksonConfig.java b/zkh-web/src/main/java/vip/jcfd/web/config/JacksonConfig.java
new file mode 100644
index 0000000..68e5e54
--- /dev/null
+++ b/zkh-web/src/main/java/vip/jcfd/web/config/JacksonConfig.java
@@ -0,0 +1,56 @@
+package vip.jcfd.web.config;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.io.IOException;
+import java.time.ZoneId;
+import java.util.Locale;
+import java.util.TimeZone;
+
+
+@Configuration
+public class JacksonConfig {
+
+ /**
+ * Configures Jackson mapper with locale, timezone, date format, serializer
+ */
+ @Bean
+ public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
+ return jacksonObjectMapperBuilder -> {
+ jacksonObjectMapperBuilder.locale(Locale.CHINA);
+ jacksonObjectMapperBuilder.timeZone(TimeZone.getTimeZone(ZoneId.of("Asia/Shanghai")));
+ jacksonObjectMapperBuilder.simpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ jacksonObjectMapperBuilder.serializers(new LongSerializer());
+ jacksonObjectMapperBuilder.deserializers(new LongDeserializer());
+ };
+ }
+
+ public static class LongSerializer extends JsonSerializer {
+ @Override
+ public void serialize(Long value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
+ if (value == null) {
+ gen.writeNull();
+ return;
+ }
+ gen.writeString(String.valueOf(value));
+ }
+ }
+
+ public static class LongDeserializer extends JsonDeserializer {
+ @Override
+ public Long deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+ if (p.getText() == null) {
+ return null;
+ }
+ return Long.parseLong(p.getText());
+ }
+ }
+}