From fbd045cd217eb8852fbfe9774e2639a9f46fcedc Mon Sep 17 00:00:00 2001 From: DaxPay Date: Thu, 19 Dec 2024 11:05:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BE=AE=E4=BF=A1V2=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F=E5=A4=84?= =?UTF-8?q?=E7=90=86=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../callback/WechatRefundCallbackService.java | 6 +++++- .../refund/WechatRefundSyncV2Service.java | 19 +++++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/callback/WechatRefundCallbackService.java b/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/callback/WechatRefundCallbackService.java index 0de56932..c62385ba 100644 --- a/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/callback/WechatRefundCallbackService.java +++ b/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/callback/WechatRefundCallbackService.java @@ -1,5 +1,7 @@ package org.dromara.daxpay.channel.wechat.service.callback; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.LocalDateTimeUtil; import org.dromara.daxpay.channel.wechat.code.WechatPayCode; import org.dromara.daxpay.channel.wechat.entity.config.WechatPayConfig; import org.dromara.daxpay.channel.wechat.service.config.WechatPayConfigService; @@ -28,6 +30,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.Map; import java.util.Objects; @@ -143,7 +146,8 @@ public class WechatRefundCallbackService { callbackInfo.setAmount(PayUtil.conversionAmount(result.getRefundFee())); String timeEnd = result.getSuccessTime(); if (StrUtil.isNotBlank(timeEnd)){ - callbackInfo.setFinishTime(WechatPayUtil.parseV2(timeEnd)); + LocalDateTime finishTime = LocalDateTimeUtil.parse(timeEnd, DatePattern.NORM_DATETIME_PATTERN); + callbackInfo.setFinishTime(finishTime); } } diff --git a/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/sync/refund/WechatRefundSyncV2Service.java b/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/sync/refund/WechatRefundSyncV2Service.java index ba743586..0711855e 100644 --- a/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/sync/refund/WechatRefundSyncV2Service.java +++ b/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/sync/refund/WechatRefundSyncV2Service.java @@ -1,21 +1,23 @@ package org.dromara.daxpay.channel.wechat.service.sync.refund; -import org.dromara.daxpay.channel.wechat.entity.config.WechatPayConfig; -import org.dromara.daxpay.channel.wechat.service.config.WechatPayConfigService; -import org.dromara.daxpay.channel.wechat.util.WechatPayUtil; -import org.dromara.daxpay.core.enums.RefundStatusEnum; -import org.dromara.daxpay.core.util.PayUtil; -import org.dromara.daxpay.service.bo.sync.RefundSyncResultBo; -import org.dromara.daxpay.service.entity.order.refund.RefundOrder; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.LocalDateTimeUtil; import com.github.binarywang.wxpay.bean.request.WxPayRefundQueryRequest; import com.github.binarywang.wxpay.constant.WxPayConstants.RefundStatus; import com.github.binarywang.wxpay.exception.WxPayException; import com.github.binarywang.wxpay.service.WxPayService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.daxpay.channel.wechat.entity.config.WechatPayConfig; +import org.dromara.daxpay.channel.wechat.service.config.WechatPayConfigService; +import org.dromara.daxpay.core.enums.RefundStatusEnum; +import org.dromara.daxpay.core.util.PayUtil; +import org.dromara.daxpay.service.bo.sync.RefundSyncResultBo; +import org.dromara.daxpay.service.entity.order.refund.RefundOrder; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.Objects; /** @@ -51,8 +53,9 @@ public class WechatRefundSyncV2Service { var record = result.getRefundRecords().getFirst(); // 退款状态 - 成功 if (Objects.equals(RefundStatus.SUCCESS, record.getRefundStatus())){ + LocalDateTime finishTime = LocalDateTimeUtil.parse(record.getRefundSuccessTime(), DatePattern.NORM_DATETIME_PATTERN); syncResult.setRefundStatus(RefundStatusEnum.SUCCESS) - .setFinishTime(WechatPayUtil.parseV2(record.getRefundSuccessTime())); + .setFinishTime(finishTime); } // 退款状态 - 退款关闭 if (Objects.equals(RefundStatus.REFUND_CLOSE, record.getRefundStatus())){