Commit 373eff605bdf4c8c5437ac297259d9d9113de53d

Authored by 芋道源码
Committed by Gitee
2 parents 9d5a8216 ec1a933d

!329 修改`支付模块>支付过期时间格式化异常(yyyy-MM-ddTHH:mm:ssXXX)`

Merge pull request !329 from 骑士梦/master
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXLitePayClient.java
@@ -26,6 +26,8 @@ import com.github.binarywang.wxpay.service.WxPayService; @@ -26,6 +26,8 @@ import com.github.binarywang.wxpay.service.WxPayService;
26 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; 26 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
27 import lombok.extern.slf4j.Slf4j; 27 import lombok.extern.slf4j.Slf4j;
28 28
  29 +import java.time.ZoneId;
  30 +import java.util.Date;
29 import java.util.Objects; 31 import java.util.Objects;
30 32
31 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString; 33 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
@@ -119,7 +121,7 @@ public class WXLitePayClient extends AbstractPayClient<WXPayClientConfig> { @@ -119,7 +121,7 @@ public class WXLitePayClient extends AbstractPayClient<WXPayClientConfig> {
119 .setTotal(reqDTO 121 .setTotal(reqDTO
120 .getAmount() 122 .getAmount()
121 .intValue())); // 单位分 123 .intValue())); // 单位分
122 - request.setTimeExpire(DateUtil.format(reqDTO.getExpireTime(), "yyyy-MM-dd'T'HH:mm:ssXXX")); // v3的时间格式 124 + request.setTimeExpire(DateUtil.format(Date.from(reqDTO.getExpireTime().atZone(ZoneId.systemDefault()).toInstant()), "yyyy-MM-dd'T'HH:mm:ssXXX")); // v3的时间格式
123 request.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(getOpenid(reqDTO))); 125 request.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(getOpenid(reqDTO)));
124 request.setSceneInfo(new WxPayUnifiedOrderV3Request.SceneInfo().setPayerClientIp(reqDTO.getUserIp())); 126 request.setSceneInfo(new WxPayUnifiedOrderV3Request.SceneInfo().setPayerClientIp(reqDTO.getUserIp()));
125 request.setNotifyUrl(reqDTO.getNotifyUrl()); 127 request.setNotifyUrl(reqDTO.getNotifyUrl());
@@ -167,7 +169,8 @@ public class WXLitePayClient extends AbstractPayClient<WXPayClientConfig> { @@ -167,7 +169,8 @@ public class WXLitePayClient extends AbstractPayClient<WXPayClientConfig> {
167 return PayOrderNotifyRespDTO 169 return PayOrderNotifyRespDTO
168 .builder() 170 .builder()
169 .orderExtensionNo(result.getOutTradeNo()) 171 .orderExtensionNo(result.getOutTradeNo())
170 - .channelOrderNo(result.getTradeState()) 172 + .channelOrderNo(result.getTransactionId())
  173 + .channelUserId(result.getPayer().getOpenid())
171 .successTime(LocalDateTimeUtil.parse(result.getSuccessTime(), "yyyy-MM-dd'T'HH:mm:ssXXX")) 174 .successTime(LocalDateTimeUtil.parse(result.getSuccessTime(), "yyyy-MM-dd'T'HH:mm:ssXXX"))
172 .data(data.getBody()) 175 .data(data.getBody())
173 .build(); 176 .build();
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXNativePayClient.java
@@ -24,6 +24,8 @@ import com.github.binarywang.wxpay.service.WxPayService; @@ -24,6 +24,8 @@ import com.github.binarywang.wxpay.service.WxPayService;
24 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; 24 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
25 import lombok.extern.slf4j.Slf4j; 25 import lombok.extern.slf4j.Slf4j;
26 26
  27 +import java.time.ZoneId;
  28 +import java.util.Date;
27 import java.util.Objects; 29 import java.util.Objects;
28 30
29 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString; 31 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
@@ -98,7 +100,7 @@ public class WXNativePayClient extends AbstractPayClient<WXPayClientConfig> { @@ -98,7 +100,7 @@ public class WXNativePayClient extends AbstractPayClient<WXPayClientConfig> {
98 .outTradeNo(reqDTO.getMerchantOrderId()) 100 .outTradeNo(reqDTO.getMerchantOrderId())
99 .body(reqDTO.getBody()) 101 .body(reqDTO.getBody())
100 .totalFee(reqDTO.getAmount().intValue()) // 单位分 102 .totalFee(reqDTO.getAmount().intValue()) // 单位分
101 - .timeExpire(DateUtil.format(reqDTO.getExpireTime(), "yyyy-MM-dd'T'HH:mm:ssXXX")) 103 + .timeExpire(DateUtil.format(Date.from(reqDTO.getExpireTime().atZone(ZoneId.systemDefault()).toInstant()), "yyyy-MM-dd'T'HH:mm:ssXXX"))
102 .spbillCreateIp(reqDTO.getUserIp()) 104 .spbillCreateIp(reqDTO.getUserIp())
103 .notifyUrl(reqDTO.getNotifyUrl()) 105 .notifyUrl(reqDTO.getNotifyUrl())
104 .productId(tradeType) 106 .productId(tradeType)
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXPubPayClient.java
@@ -26,6 +26,8 @@ import com.github.binarywang.wxpay.service.WxPayService; @@ -26,6 +26,8 @@ import com.github.binarywang.wxpay.service.WxPayService;
26 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; 26 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
27 import lombok.extern.slf4j.Slf4j; 27 import lombok.extern.slf4j.Slf4j;
28 28
  29 +import java.time.ZoneId;
  30 +import java.util.Date;
29 import java.util.Objects; 31 import java.util.Objects;
30 32
31 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString; 33 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
@@ -99,7 +101,7 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> { @@ -99,7 +101,7 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> {
99 .outTradeNo(reqDTO.getMerchantOrderId()) 101 .outTradeNo(reqDTO.getMerchantOrderId())
100 .body(reqDTO.getBody()) 102 .body(reqDTO.getBody())
101 .totalFee(reqDTO.getAmount().intValue()) // 单位分 103 .totalFee(reqDTO.getAmount().intValue()) // 单位分
102 - .timeExpire(DateUtil.format(reqDTO.getExpireTime(), "yyyy-MM-dd'T'HH:mm:ssXXX")) 104 + .timeExpire(DateUtil.format(Date.from(reqDTO.getExpireTime().atZone(ZoneId.systemDefault()).toInstant()), "yyyy-MM-dd'T'HH:mm:ssXXX"))
103 .spbillCreateIp(reqDTO.getUserIp()) 105 .spbillCreateIp(reqDTO.getUserIp())
104 .openid(getOpenid(reqDTO)) 106 .openid(getOpenid(reqDTO))
105 .notifyUrl(reqDTO.getNotifyUrl()) 107 .notifyUrl(reqDTO.getNotifyUrl())
@@ -114,7 +116,7 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> { @@ -114,7 +116,7 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> {
114 request.setOutTradeNo(reqDTO.getMerchantOrderId()); 116 request.setOutTradeNo(reqDTO.getMerchantOrderId());
115 request.setDescription(reqDTO.getBody()); 117 request.setDescription(reqDTO.getBody());
116 request.setAmount(new WxPayUnifiedOrderV3Request.Amount().setTotal(reqDTO.getAmount().intValue())); // 单位分 118 request.setAmount(new WxPayUnifiedOrderV3Request.Amount().setTotal(reqDTO.getAmount().intValue())); // 单位分
117 - request.setTimeExpire(DateUtil.format(reqDTO.getExpireTime(), "yyyy-MM-dd'T'HH:mm:ssXXX")); 119 + request.setTimeExpire(DateUtil.format(Date.from(reqDTO.getExpireTime().atZone(ZoneId.systemDefault()).toInstant()), "yyyy-MM-dd'T'HH:mm:ssXXX"));
118 request.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(getOpenid(reqDTO))); 120 request.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(getOpenid(reqDTO)));
119 request.setSceneInfo(new WxPayUnifiedOrderV3Request.SceneInfo().setPayerClientIp(reqDTO.getUserIp())); 121 request.setSceneInfo(new WxPayUnifiedOrderV3Request.SceneInfo().setPayerClientIp(reqDTO.getUserIp()));
120 request.setNotifyUrl(reqDTO.getNotifyUrl()); 122 request.setNotifyUrl(reqDTO.getNotifyUrl());