diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/change/request/QualFilingPersonnelChangeAddCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/change/request/QualFilingPersonnelChangeAddCmd.java index cf0c3ef..52e4c70 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/change/request/QualFilingPersonnelChangeAddCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/change/request/QualFilingPersonnelChangeAddCmd.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.qinan.safetyeval.client.common.jackson.DateToLocalDateTimeDeserializer; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -72,12 +73,14 @@ public class QualFilingPersonnelChangeAddCmd implements Serializable { */ @ApiModelProperty(value = "出生日期") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonDeserialize(using = DateToLocalDateTimeDeserializer.class) private LocalDateTime birthDate; /** * 参加工作时间 */ @ApiModelProperty(value = "参加工作时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonDeserialize(using = DateToLocalDateTimeDeserializer.class) private LocalDateTime joinWorkDate; /** * 身份证号 diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/change/request/QualFilingPersonnelChangeUpdateCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/change/request/QualFilingPersonnelChangeUpdateCmd.java index cd88557..09b002c 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/change/request/QualFilingPersonnelChangeUpdateCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/change/request/QualFilingPersonnelChangeUpdateCmd.java @@ -1,8 +1,10 @@ package org.qinan.safetyeval.client.change.request; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.qinan.safetyeval.client.common.jackson.DateToLocalDateTimeDeserializer; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -71,11 +73,15 @@ public class QualFilingPersonnelChangeUpdateCmd implements Serializable { * 出生日期 */ @ApiModelProperty(value = "出生日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonDeserialize(using = DateToLocalDateTimeDeserializer.class) private LocalDateTime birthDate; /** * 参加工作时间 */ @ApiModelProperty(value = "参加工作时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonDeserialize(using = DateToLocalDateTimeDeserializer.class) private LocalDateTime joinWorkDate; /** * 身份证号 diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/common/jackson/DateToLocalDateTimeDeserializer.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/common/jackson/DateToLocalDateTimeDeserializer.java new file mode 100644 index 0000000..cae5f13 --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/common/jackson/DateToLocalDateTimeDeserializer.java @@ -0,0 +1,46 @@ +package org.qinan.safetyeval.client.common.jackson; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * 兼容前端仅传递日期(yyyy-MM-dd)的 LocalDateTime 反序列化器。 + *
+ * 当入参为 "yyyy-MM-dd" 时补全为当天 00:00:00;
+ * 当入参为标准日期时间(如 "yyyy-MM-dd HH:mm:ss" / "yyyy-MM-dd'T'HH:mm:ss")时按原值解析。
+ *
+ * @Author: ltq
+ * @date 2026-07-07
+ */
+public class DateToLocalDateTimeDeserializer extends JsonDeserializer