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 1 package cn.iocoder.yudao.framework.pay.core.client.impl.wx;
2 2  
3 3 import cn.hutool.core.bean.BeanUtil;
4   -import cn.hutool.core.date.DateUtil;
5 4 import cn.hutool.core.date.LocalDateTimeUtil;
  5 +import cn.hutool.core.date.TemporalAccessorUtil;
6 6 import cn.hutool.core.lang.Assert;
7 7 import cn.hutool.core.map.MapUtil;
8 8 import cn.hutool.core.util.StrUtil;
... ... @@ -26,8 +26,8 @@ import com.github.binarywang.wxpay.service.WxPayService;
26 26 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
27 27 import lombok.extern.slf4j.Slf4j;
28 28  
  29 +import java.time.LocalDateTime;
29 30 import java.time.ZoneId;
30   -import java.util.Date;
31 31 import java.util.Objects;
32 32  
33 33 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
... ... @@ -100,8 +100,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> {
100 100 WxPayUnifiedOrderRequest request = WxPayUnifiedOrderRequest.newBuilder()
101 101 .outTradeNo(reqDTO.getMerchantOrderId())
102 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 105 .spbillCreateIp(reqDTO.getUserIp())
106 106 .openid(getOpenid(reqDTO))
107 107 .notifyUrl(reqDTO.getNotifyUrl())
... ... @@ -115,8 +115,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> {
115 115 WxPayUnifiedOrderV3Request request = new WxPayUnifiedOrderV3Request();
116 116 request.setOutTradeNo(reqDTO.getMerchantOrderId());
117 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 120 request.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(getOpenid(reqDTO)));
121 121 request.setSceneInfo(new WxPayUnifiedOrderV3Request.SceneInfo().setPayerClientIp(reqDTO.getUserIp()));
122 122 request.setNotifyUrl(reqDTO.getNotifyUrl());
... ... @@ -196,4 +196,8 @@ public class WXPubPayClient extends AbstractPayClient<WXPayClientConfig> {
196 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 35 case "isv.OUT_OF_SERVICE": return SmsFrameworkErrorCodeConstants.SMS_ACCOUNT_MONEY_NOT_ENOUGH;
36 36 case "isv.MOBILE_NUMBER_ILLEGAL": return SmsFrameworkErrorCodeConstants.SMS_MOBILE_INVALID;
37 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 }
... ...