Browse Source

feat(marketing): 为 MemberCoupon 和 Promotion 实体类添加时间字段的序列化和反序列化支持

- 在 MemberCoupon 和 Promotion 类中,为 createTime 和 updateTime 字段添加了@JsonDeserialize和@JsonSerialize注解
- 使用 LocalDateTimeDeserializer 和 LocalDateTimeSerializer 来处理时间字段的序列化和反序列化
-为 createTime 和 updateTime 字段添加了@TableField注解,分别用于插入和更新时自动填充
hechunping 1 week ago
parent
commit
63d8d9b654

+ 11 - 3
src/main/java/com/xynet/marketing/entity/MemberCoupon.java

@@ -1,8 +1,10 @@
 package com.xynet.marketing.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -61,8 +63,14 @@ public class MemberCoupon implements Serializable {
 
     private LocalDateTime useTime;
 
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @TableField(fill = FieldFill.INSERT)
     private LocalDateTime createTime;
 
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @TableField(fill = FieldFill.UPDATE)
     private LocalDateTime updateTime;
 
     private LocalDate createDate;

+ 11 - 3
src/main/java/com/xynet/marketing/entity/Promotion.java

@@ -1,8 +1,10 @@
 package com.xynet.marketing.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
@@ -52,8 +54,14 @@ public class Promotion {
 
     private Boolean isAllGoods = true;
 
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @TableField(fill = FieldFill.INSERT)
     private LocalDateTime createTime;
 
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @TableField(fill = FieldFill.UPDATE)
     private LocalDateTime updateTime;
 
     private Integer weight;