From 282a60e3bbbb6292207eb5dff65e684b5071ed54 Mon Sep 17 00:00:00 2001 From: "felord.cn" Date: Mon, 1 Mar 2021 21:05:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=AD=E6=97=B6=E9=97=B4=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E7=9A=84=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这个问题是 Jackson在进行反序列化的时候需要声明对Java 8 时间包的支持。 Closes #13 --- .../java/cn/felord/payment/wechat/v3/WechatPayCallback.java | 4 ++++ .../payment/wechat/v3/model/TransactionConsumeData.java | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayCallback.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayCallback.java index b1b705b..750ec94 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayCallback.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatPayCallback.java @@ -33,6 +33,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.util.Assert; @@ -71,6 +73,8 @@ public class WechatPayCallback { static { MAPPER.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE); MAPPER.setSerializationInclusion(JsonInclude.Include.NON_NULL); + SimpleModule module = new JavaTimeModule(); + MAPPER.registerModule(module); } /** diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/TransactionConsumeData.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/TransactionConsumeData.java index 7976f52..eb91087 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/TransactionConsumeData.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/model/TransactionConsumeData.java @@ -20,8 +20,10 @@ package cn.felord.payment.wechat.v3.model; import cn.felord.payment.wechat.enumeration.TradeState; import cn.felord.payment.wechat.enumeration.TradeType; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import java.time.OffsetDateTime; import java.util.List; /** @@ -72,7 +74,8 @@ public class TransactionConsumeData { /** * 支付完成时间 YYYY-MM-DDTHH:mm:ss+TIMEZONE */ - private String successTime; + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "GMT+8") + private OffsetDateTime successTime; /** * 在 1.0.0.RELEASE 直接返回了枚举字符串,1.0.2.RELEASE 中变更为枚举 *