Commit ac3c7511323140dc5cd12544c5a1b927a2c27476

Authored by YunaiV
1 parent 5a4cc559

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

yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXPubPayClient.java
1 package cn.iocoder.yudao.framework.pay.core.client.impl.wx; 1 package cn.iocoder.yudao.framework.pay.core.client.impl.wx;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 -import cn.hutool.core.date.DateUtil;  
5 import cn.hutool.core.date.LocalDateTimeUtil; 4 import cn.hutool.core.date.LocalDateTimeUtil;
  5 +import cn.hutool.core.date.TemporalAccessorUtil;
6 import cn.hutool.core.lang.Assert; 6 import cn.hutool.core.lang.Assert;
7 import cn.hutool.core.map.MapUtil; 7 import cn.hutool.core.map.MapUtil;
8 import cn.hutool.core.util.StrUtil; 8 import cn.hutool.core.util.StrUtil;
@@ -26,8 +26,8 @@ import com.github.binarywang.wxpay.service.WxPayService; @@ -26,8 +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.LocalDateTime;
29 import java.time.ZoneId; 30 import java.time.ZoneId;
30 -import java.util.Date;  
31 import java.util.Objects; 31 import java.util.Objects;
32 32
33 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString; 33 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
@@ -100,8 +100,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> { @@ -100,8 +100,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> {
100 WxPayUnifiedOrderRequest request = WxPayUnifiedOrderRequest.newBuilder() 100 WxPayUnifiedOrderRequest request = WxPayUnifiedOrderRequest.newBuilder()
101 .outTradeNo(reqDTO.getMerchantOrderId()) 101 .outTradeNo(reqDTO.getMerchantOrderId())
102 .body(reqDTO.getBody()) 102 .body(reqDTO.getBody())
103 - .totalFee(reqDTO.getAmount().intValue()) // 单位分  
104 - .timeExpire(DateUtil.format(Date.from(reqDTO.getExpireTime().atZone(ZoneId.systemDefault()).toInstant()), "yyyy-MM-dd'T'HH:mm:ssXXX")) 103 + .totalFee(reqDTO.getAmount()) // 单位分
  104 + .timeExpire(formatDate(reqDTO.getExpireTime()))
105 .spbillCreateIp(reqDTO.getUserIp()) 105 .spbillCreateIp(reqDTO.getUserIp())
106 .openid(getOpenid(reqDTO)) 106 .openid(getOpenid(reqDTO))
107 .notifyUrl(reqDTO.getNotifyUrl()) 107 .notifyUrl(reqDTO.getNotifyUrl())
@@ -115,8 +115,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> { @@ -115,8 +115,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> {
115 WxPayUnifiedOrderV3Request request = new WxPayUnifiedOrderV3Request(); 115 WxPayUnifiedOrderV3Request request = new WxPayUnifiedOrderV3Request();
116 request.setOutTradeNo(reqDTO.getMerchantOrderId()); 116 request.setOutTradeNo(reqDTO.getMerchantOrderId());
117 request.setDescription(reqDTO.getBody()); 117 request.setDescription(reqDTO.getBody());
118 - request.setAmount(new WxPayUnifiedOrderV3Request.Amount().setTotal(reqDTO.getAmount().intValue())); // 单位分  
119 - request.setTimeExpire(DateUtil.format(Date.from(reqDTO.getExpireTime().atZone(ZoneId.systemDefault()).toInstant()), "yyyy-MM-dd'T'HH:mm:ssXXX")); 118 + request.setAmount(new WxPayUnifiedOrderV3Request.Amount().setTotal(reqDTO.getAmount())); // 单位分
  119 + request.setTimeExpire(formatDate(reqDTO.getExpireTime()));
120 request.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(getOpenid(reqDTO))); 120 request.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(getOpenid(reqDTO)));
121 request.setSceneInfo(new WxPayUnifiedOrderV3Request.SceneInfo().setPayerClientIp(reqDTO.getUserIp())); 121 request.setSceneInfo(new WxPayUnifiedOrderV3Request.SceneInfo().setPayerClientIp(reqDTO.getUserIp()));
122 request.setNotifyUrl(reqDTO.getNotifyUrl()); 122 request.setNotifyUrl(reqDTO.getNotifyUrl());
@@ -196,4 +196,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> { @@ -196,4 +196,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> {
196 throw new UnsupportedOperationException(); 196 throw new UnsupportedOperationException();
197 } 197 }
198 198
  199 + private static String formatDate(LocalDateTime time) {
  200 + return TemporalAccessorUtil.format(time.atZone(ZoneId.systemDefault()), "yyyy-MM-dd'T'HH:mm:ssXXX");
  201 + }
  202 +
199 } 203 }
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/aliyun/AliyunSmsCodeMapping.java
@@ -35,8 +35,8 @@ public class AliyunSmsCodeMapping implements SmsCodeMapping { @@ -35,8 +35,8 @@ public class AliyunSmsCodeMapping implements SmsCodeMapping {
35 case "isv.OUT_OF_SERVICE": return SmsFrameworkErrorCodeConstants.SMS_ACCOUNT_MONEY_NOT_ENOUGH; 35 case "isv.OUT_OF_SERVICE": return SmsFrameworkErrorCodeConstants.SMS_ACCOUNT_MONEY_NOT_ENOUGH;
36 case "isv.MOBILE_NUMBER_ILLEGAL": return SmsFrameworkErrorCodeConstants.SMS_MOBILE_INVALID; 36 case "isv.MOBILE_NUMBER_ILLEGAL": return SmsFrameworkErrorCodeConstants.SMS_MOBILE_INVALID;
37 case "isv.TEMPLATE_MISSING_PARAMETERS": return SmsFrameworkErrorCodeConstants.SMS_TEMPLATE_PARAM_ERROR; 37 case "isv.TEMPLATE_MISSING_PARAMETERS": return SmsFrameworkErrorCodeConstants.SMS_TEMPLATE_PARAM_ERROR;
  38 + default: return SmsFrameworkErrorCodeConstants.SMS_UNKNOWN;
38 } 39 }
39 - return SmsFrameworkErrorCodeConstants.SMS_UNKNOWN;  
40 } 40 }
41 41
42 } 42 }