Commit 373eff605bdf4c8c5437ac297259d9d9113de53d
Committed by
Gitee
!329 修改`支付模块>支付过期时间格式化异常(yyyy-MM-ddTHH
ssXXX)`
Merge pull request !329 from 骑士梦/master
Showing
3 changed files
with
12 additions
and
5 deletions
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()); |