Commit 4682650e114819e0d01aa409b5b63e7ea489488c
1 parent
b06a21f9
mall + pay:
1. 先添加 WxAppPayClient、WxH5PayClient 的类,暂未实现
Showing
4 changed files
with
82 additions
and
5 deletions
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/PayClientFactoryImpl.java
| ... | ... | @@ -55,14 +55,14 @@ public class PayClientFactoryImpl implements PayClientFactory { |
| 55 | 55 | PayChannelEnum channelEnum = PayChannelEnum.getByCode(channelCode); |
| 56 | 56 | Assert.notNull(channelEnum, String.format("支付渠道(%s) 为空", channelEnum)); |
| 57 | 57 | // 创建客户端 |
| 58 | - // TODO @芋艿 WX_APP 如果不添加在 项目启动的时候去初始化会报错无法启动。所以我手动加了两个,具体需要你来配 | |
| 59 | 58 | switch (channelEnum) { |
| 60 | 59 | // 微信支付 |
| 61 | 60 | case WX_PUB: return (AbstractPayClient<Config>) new WxPubPayClient(channelId, (WxPayClientConfig) config); |
| 62 | 61 | case WX_LITE: return (AbstractPayClient<Config>) new WxLitePayClient(channelId, (WxPayClientConfig) config); |
| 63 | - case WX_APP: return (AbstractPayClient<Config>) new WxPubPayClient(channelId, (WxPayClientConfig) config); | |
| 62 | + case WX_APP: return (AbstractPayClient<Config>) new WxAppPayClient(channelId, (WxPayClientConfig) config); | |
| 64 | 63 | case WX_BAR: return (AbstractPayClient<Config>) new WxBarPayClient(channelId, (WxPayClientConfig) config); |
| 65 | 64 | case WX_NATIVE: return (AbstractPayClient<Config>) new WxNativePayClient(channelId, (WxPayClientConfig) config); |
| 65 | + case WX_H5: return (AbstractPayClient<Config>) new WxH5PayClient(channelId, (WxPayClientConfig) config); | |
| 66 | 66 | // 支付宝支付 |
| 67 | 67 | case ALIPAY_WAP: return (AbstractPayClient<Config>) new AlipayWapPayClient(channelId, (AlipayPayClientConfig) config); |
| 68 | 68 | case ALIPAY_QR: return (AbstractPayClient<Config>) new AlipayQrPayClient(channelId, (AlipayPayClientConfig) config); | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxAppPayClient.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | |
| 4 | +import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO; | |
| 5 | +import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | |
| 6 | +import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedRespDTO; | |
| 7 | +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | |
| 8 | +import com.github.binarywang.wxpay.constant.WxPayConstants; | |
| 9 | +import com.github.binarywang.wxpay.exception.WxPayException; | |
| 10 | + | |
| 11 | +// TODO 芋艿:未实现 | |
| 12 | +public class WxAppPayClient extends AbstractWxPayClient { | |
| 13 | + | |
| 14 | + public WxAppPayClient(Long channelId, WxPayClientConfig config) { | |
| 15 | + super(channelId, PayChannelEnum.WX_APP.getCode(), config); | |
| 16 | + } | |
| 17 | + | |
| 18 | + @Override | |
| 19 | + protected void doInit() { | |
| 20 | + super.doInit(WxPayConstants.TradeType.APP); | |
| 21 | + } | |
| 22 | + | |
| 23 | + @Override | |
| 24 | + protected PayRefundUnifiedRespDTO doUnifiedRefund(PayRefundUnifiedReqDTO reqDTO) throws Throwable { | |
| 25 | + return null; | |
| 26 | + } | |
| 27 | + | |
| 28 | + @Override | |
| 29 | + protected PayOrderUnifiedRespDTO doUnifiedOrderV2(PayOrderUnifiedReqDTO reqDTO) throws WxPayException { | |
| 30 | + return null; | |
| 31 | + } | |
| 32 | + | |
| 33 | + @Override | |
| 34 | + protected PayOrderUnifiedRespDTO doUnifiedOrderV3(PayOrderUnifiedReqDTO reqDTO) throws WxPayException { | |
| 35 | + return null; | |
| 36 | + } | |
| 37 | + | |
| 38 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxH5PayClient.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | |
| 4 | +import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO; | |
| 5 | +import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | |
| 6 | +import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedRespDTO; | |
| 7 | +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | |
| 8 | +import com.github.binarywang.wxpay.constant.WxPayConstants; | |
| 9 | +import com.github.binarywang.wxpay.exception.WxPayException; | |
| 10 | + | |
| 11 | +// TODO 芋艿:未实现 | |
| 12 | +public class WxH5PayClient extends AbstractWxPayClient { | |
| 13 | + | |
| 14 | + public WxH5PayClient(Long channelId, WxPayClientConfig config) { | |
| 15 | + super(channelId, PayChannelEnum.WX_H5.getCode(), config); | |
| 16 | + } | |
| 17 | + | |
| 18 | + @Override | |
| 19 | + protected void doInit() { | |
| 20 | + super.doInit(WxPayConstants.TradeType.MWEB); | |
| 21 | + } | |
| 22 | + | |
| 23 | + @Override | |
| 24 | + protected PayRefundUnifiedRespDTO doUnifiedRefund(PayRefundUnifiedReqDTO reqDTO) throws Throwable { | |
| 25 | + return null; | |
| 26 | + } | |
| 27 | + | |
| 28 | + @Override | |
| 29 | + protected PayOrderUnifiedRespDTO doUnifiedOrderV2(PayOrderUnifiedReqDTO reqDTO) throws WxPayException { | |
| 30 | + return null; | |
| 31 | + } | |
| 32 | + | |
| 33 | + @Override | |
| 34 | + protected PayOrderUnifiedRespDTO doUnifiedOrderV3(PayOrderUnifiedReqDTO reqDTO) throws WxPayException { | |
| 35 | + return null; | |
| 36 | + } | |
| 37 | + | |
| 38 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/channel/PayChannelEnum.java
| ... | ... | @@ -19,8 +19,9 @@ public enum PayChannelEnum { |
| 19 | 19 | WX_PUB("wx_pub", "微信 JSAPI 支付", WxPayClientConfig.class), // 公众号网页 |
| 20 | 20 | WX_LITE("wx_lite", "微信小程序支付", WxPayClientConfig.class), |
| 21 | 21 | WX_APP("wx_app", "微信 App 支付", WxPayClientConfig.class), |
| 22 | - WX_NATIVE("wx_native", "微信 native 支付", WxPayClientConfig.class), | |
| 22 | + WX_NATIVE("wx_native", "微信 Native 支付", WxPayClientConfig.class), | |
| 23 | 23 | WX_BAR("wx_bar", "微信付款码支付", WxPayClientConfig.class), |
| 24 | + WX_H5("wx_h5", "微信 H5 支付", WxPayClientConfig.class), | |
| 24 | 25 | |
| 25 | 26 | ALIPAY_PC("alipay_pc", "支付宝 PC 网站支付", AlipayPayClientConfig.class), |
| 26 | 27 | ALIPAY_WAP("alipay_wap", "支付宝 Wap 网站支付", AlipayPayClientConfig.class), |
| ... | ... | @@ -30,8 +31,8 @@ public enum PayChannelEnum { |
| 30 | 31 | |
| 31 | 32 | /** |
| 32 | 33 | * 编码 |
| 33 | - * <p> | |
| 34 | - * 参考 https://www.pingxx.com/api/支付渠道属性值.html | |
| 34 | + * | |
| 35 | + * 参考 <a href="https://www.pingxx.com/api/支付渠道属性值.html">支付渠道属性值</a> | |
| 35 | 36 | */ |
| 36 | 37 | private final String code; |
| 37 | 38 | /** | ... | ... |