Commit d4ed2c49f18a4258d141fe289245d279b6c89b3e
1 parent
ee7b3fb2
reactor:将 pay starter 融合到 pay-module 的 framework/pay 里
Showing
78 changed files
with
463 additions
and
670 deletions
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/enums/DictTypeConstants.java
| @@ -7,6 +7,8 @@ package cn.iocoder.yudao.module.infra.enums; | @@ -7,6 +7,8 @@ package cn.iocoder.yudao.module.infra.enums; | ||
| 7 | */ | 7 | */ |
| 8 | public interface DictTypeConstants { | 8 | public interface DictTypeConstants { |
| 9 | 9 | ||
| 10 | + String USER_TYPE = "user_type"; // 用户类型 | ||
| 11 | + | ||
| 10 | String JOB_STATUS = "infra_job_status"; // 定时任务状态的枚举 | 12 | String JOB_STATUS = "infra_job_status"; // 定时任务状态的枚举 |
| 11 | String JOB_LOG_STATUS = "infra_job_log_status"; // 定时任务日志状态的枚举 | 13 | String JOB_LOG_STATUS = "infra_job_log_status"; // 定时任务日志状态的枚举 |
| 12 | 14 |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apiaccesslog; | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apiaccesslog; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | 5 | +import cn.iocoder.yudao.module.infra.enums.DictTypeConstants; |
| 6 | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | 6 | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; |
| 7 | import com.alibaba.excel.annotation.ExcelProperty; | 7 | import com.alibaba.excel.annotation.ExcelProperty; |
| 8 | import io.swagger.v3.oas.annotations.media.Schema; | 8 | import io.swagger.v3.oas.annotations.media.Schema; |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java
| @@ -29,7 +29,7 @@ public class ApiErrorLogRespVO { | @@ -29,7 +29,7 @@ public class ApiErrorLogRespVO { | ||
| 29 | 29 | ||
| 30 | @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 30 | @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 31 | @ExcelProperty(value = "用户类型", converter = DictConvert.class) | 31 | @ExcelProperty(value = "用户类型", converter = DictConvert.class) |
| 32 | - @DictFormat(cn.iocoder.yudao.module.system.enums.DictTypeConstants.USER_TYPE) | 32 | + @DictFormat(DictTypeConstants.USER_TYPE) |
| 33 | private Integer userType; | 33 | private Integer userType; |
| 34 | 34 | ||
| 35 | @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard") | 35 | @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard") |
yudao-module-pay/pom.xml
| @@ -13,7 +13,6 @@ | @@ -13,7 +13,6 @@ | ||
| 13 | <modules> | 13 | <modules> |
| 14 | <module>yudao-module-pay-api</module> | 14 | <module>yudao-module-pay-api</module> |
| 15 | <module>yudao-module-pay-biz</module> | 15 | <module>yudao-module-pay-biz</module> |
| 16 | - <module>yudao-spring-boot-starter-biz-pay</module> | ||
| 17 | </modules> | 16 | </modules> |
| 18 | 17 | ||
| 19 | <name>${project.artifactId}</name> | 18 | <name>${project.artifactId}</name> |
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/PayChannelEnum.java
| 1 | package cn.iocoder.yudao.module.pay.enums; | 1 | package cn.iocoder.yudao.module.pay.enums; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.util.ArrayUtil; | ||
| 4 | +import cn.hutool.core.util.StrUtil; | ||
| 3 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; | 5 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; |
| 4 | import lombok.AllArgsConstructor; | 6 | import lombok.AllArgsConstructor; |
| 5 | import lombok.Getter; | 7 | import lombok.Getter; |
| @@ -27,6 +29,7 @@ public enum PayChannelEnum implements ArrayValuable<String> { | @@ -27,6 +29,7 @@ public enum PayChannelEnum implements ArrayValuable<String> { | ||
| 27 | ALIPAY_APP("alipay_app", "支付宝App 支付"), | 29 | ALIPAY_APP("alipay_app", "支付宝App 支付"), |
| 28 | ALIPAY_QR("alipay_qr", "支付宝扫码支付"), | 30 | ALIPAY_QR("alipay_qr", "支付宝扫码支付"), |
| 29 | ALIPAY_BAR("alipay_bar", "支付宝条码支付"), | 31 | ALIPAY_BAR("alipay_bar", "支付宝条码支付"), |
| 32 | + | ||
| 30 | MOCK("mock", "模拟支付"), | 33 | MOCK("mock", "模拟支付"), |
| 31 | 34 | ||
| 32 | WALLET("wallet", "钱包支付"); | 35 | WALLET("wallet", "钱包支付"); |
| @@ -49,4 +52,16 @@ public enum PayChannelEnum implements ArrayValuable<String> { | @@ -49,4 +52,16 @@ public enum PayChannelEnum implements ArrayValuable<String> { | ||
| 49 | return ARRAYS; | 52 | return ARRAYS; |
| 50 | } | 53 | } |
| 51 | 54 | ||
| 55 | + public static PayChannelEnum getByCode(String code) { | ||
| 56 | + return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values()); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + public static boolean isAlipay(String channelCode) { | ||
| 60 | + return StrUtil.startWith(channelCode, "alipay_"); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + public static boolean isWeixin(String channelCode) { | ||
| 64 | + return StrUtil.startWith(channelCode, "wx_"); | ||
| 65 | + } | ||
| 66 | + | ||
| 52 | } | 67 | } |
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/order/PayOrderStatusEnum.java
| @@ -51,6 +51,16 @@ public enum PayOrderStatusEnum implements ArrayValuable<Integer> { | @@ -51,6 +51,16 @@ public enum PayOrderStatusEnum implements ArrayValuable<Integer> { | ||
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | /** | 53 | /** |
| 54 | + * 判断是否已退款 | ||
| 55 | + * | ||
| 56 | + * @param status 状态 | ||
| 57 | + * @return 是否已退款 | ||
| 58 | + */ | ||
| 59 | + public static boolean isRefund(Integer status) { | ||
| 60 | + return Objects.equals(status, REFUND.getStatus()); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + /** | ||
| 54 | * 判断是否支付成功或者已退款 | 64 | * 判断是否支付成功或者已退款 |
| 55 | * | 65 | * |
| 56 | * @param status 状态 | 66 | * @param status 状态 |
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/transfer/PayTransferStatusEnum.java
| @@ -40,7 +40,7 @@ public enum PayTransferStatusEnum { | @@ -40,7 +40,7 @@ public enum PayTransferStatusEnum { | ||
| 40 | return Objects.equals(status, WAITING.getStatus()); | 40 | return Objects.equals(status, WAITING.getStatus()); |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | - public static boolean isProgressing(Integer status) { | 43 | + public static boolean isProcessing(Integer status) { |
| 44 | return Objects.equals(status, PROCESSING.getStatus()); | 44 | return Objects.equals(status, PROCESSING.getStatus()); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| @@ -51,7 +51,7 @@ public enum PayTransferStatusEnum { | @@ -51,7 +51,7 @@ public enum PayTransferStatusEnum { | ||
| 51 | * @return 是否 | 51 | * @return 是否 |
| 52 | */ | 52 | */ |
| 53 | public static boolean isWaitingOrProcessing(Integer status) { | 53 | public static boolean isWaitingOrProcessing(Integer status) { |
| 54 | - return isWaiting(status) || isProgressing(status); | 54 | + return isWaiting(status) || isProcessing(status); |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | /** | 57 | /** |
yudao-module-pay/yudao-module-pay-biz/pom.xml
| @@ -32,11 +32,6 @@ | @@ -32,11 +32,6 @@ | ||
| 32 | <!-- 业务组件 --> | 32 | <!-- 业务组件 --> |
| 33 | <dependency> | 33 | <dependency> |
| 34 | <groupId>cn.iocoder.boot</groupId> | 34 | <groupId>cn.iocoder.boot</groupId> |
| 35 | - <artifactId>yudao-spring-boot-starter-biz-pay</artifactId> | ||
| 36 | - <version>${revision}</version> | ||
| 37 | - </dependency> | ||
| 38 | - <dependency> | ||
| 39 | - <groupId>cn.iocoder.boot</groupId> | ||
| 40 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> | 35 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> |
| 41 | </dependency> | 36 | </dependency> |
| 42 | 37 | ||
| @@ -75,6 +70,24 @@ | @@ -75,6 +70,24 @@ | ||
| 75 | <groupId>cn.iocoder.boot</groupId> | 70 | <groupId>cn.iocoder.boot</groupId> |
| 76 | <artifactId>yudao-spring-boot-starter-excel</artifactId> | 71 | <artifactId>yudao-spring-boot-starter-excel</artifactId> |
| 77 | </dependency> | 72 | </dependency> |
| 73 | + | ||
| 74 | + <!-- 三方云服务相关 --> | ||
| 75 | + <dependency> | ||
| 76 | + <groupId>com.alipay.sdk</groupId> | ||
| 77 | + <artifactId>alipay-sdk-java</artifactId> | ||
| 78 | + <version>4.35.79.ALL</version> | ||
| 79 | + <exclusions> | ||
| 80 | + <exclusion> | ||
| 81 | + <groupId>org.bouncycastle</groupId> | ||
| 82 | + <artifactId>bcprov-jdk15on</artifactId> | ||
| 83 | + </exclusion> | ||
| 84 | + </exclusions> | ||
| 85 | + </dependency> | ||
| 86 | + <dependency> | ||
| 87 | + <groupId>com.github.binarywang</groupId> | ||
| 88 | + <artifactId>weixin-java-pay</artifactId> | ||
| 89 | + </dependency> | ||
| 90 | + | ||
| 78 | </dependencies> | 91 | </dependencies> |
| 79 | 92 | ||
| 80 | </project> | 93 | </project> |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/PayTransferApiImpl.java
| 1 | package cn.iocoder.yudao.module.pay.api.transfer; | 1 | package cn.iocoder.yudao.module.pay.api.transfer; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 3 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig; |
| 5 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; | 5 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; |
| 6 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; | 6 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; |
| 7 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferRespDTO; | 7 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferRespDTO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/notify/PayNotifyController.java
| @@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil; | @@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil; | ||
| 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; |
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 11 | import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; | 11 | import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; |
| 12 | import cn.iocoder.yudao.module.pay.controller.admin.notify.vo.PayNotifyTaskDetailRespVO; | 12 | import cn.iocoder.yudao.module.pay.controller.admin.notify.vo.PayNotifyTaskDetailRespVO; |
| 13 | import cn.iocoder.yudao.module.pay.controller.admin.notify.vo.PayNotifyTaskPageReqVO; | 13 | import cn.iocoder.yudao.module.pay.controller.admin.notify.vo.PayNotifyTaskPageReqVO; |
| @@ -156,7 +156,7 @@ public class PayNotifyController { | @@ -156,7 +156,7 @@ public class PayNotifyController { | ||
| 156 | } | 156 | } |
| 157 | // 拼接返回 | 157 | // 拼接返回 |
| 158 | Map<Long, PayAppDO> apps = appService.getAppMap(convertList(pageResult.getList(), PayNotifyTaskDO::getAppId)); | 158 | Map<Long, PayAppDO> apps = appService.getAppMap(convertList(pageResult.getList(), PayNotifyTaskDO::getAppId)); |
| 159 | - | 159 | + |
| 160 | // 转换对象 | 160 | // 转换对象 |
| 161 | return success(BeanUtils.toBean(pageResult, PayNotifyTaskRespVO.class, order -> { | 161 | return success(BeanUtils.toBean(pageResult, PayNotifyTaskRespVO.class, order -> { |
| 162 | PayAppDO app = apps.get(order.getAppId()); | 162 | PayAppDO app = apps.get(order.getAppId()); |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/PayOrderController.java
| @@ -6,15 +6,15 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; | @@ -6,15 +6,15 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 8 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | 8 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 10 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*; | 9 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*; |
| 11 | import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert; | 10 | import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert; |
| 12 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 11 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 13 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; | 12 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; |
| 14 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO; | 13 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO; |
| 15 | import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; | 14 | import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; |
| 15 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 16 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; | 16 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 17 | -import cn.iocoder.yudao.module.pay.framework.pay.core.WalletPayClient; | 17 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.wallet.WalletPayClient; |
| 18 | import cn.iocoder.yudao.module.pay.service.app.PayAppService; | 18 | import cn.iocoder.yudao.module.pay.service.app.PayAppService; |
| 19 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; | 19 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; |
| 20 | import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; | 20 | import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/order/AppPayOrderController.java
| @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.pay.controller.app.order; | @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.pay.controller.app.order; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 6 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderRespVO; | 5 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderRespVO; |
| 7 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderSubmitRespVO; | 6 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderSubmitRespVO; |
| 8 | import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitReqVO; | 7 | import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitReqVO; |
| @@ -10,8 +9,9 @@ import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitResp | @@ -10,8 +9,9 @@ import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitResp | ||
| 10 | import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert; | 9 | import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert; |
| 11 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; | 10 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; |
| 12 | import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; | 11 | import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; |
| 12 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 13 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; | 13 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 14 | -import cn.iocoder.yudao.module.pay.framework.pay.core.WalletPayClient; | 14 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.wallet.WalletPayClient; |
| 15 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; | 15 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; |
| 16 | import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; | 16 | import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; |
| 17 | import com.google.common.collect.Maps; | 17 | import com.google.common.collect.Maps; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/order/PayOrderConvert.java
| @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.pay.convert.order; | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.pay.convert.order; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 4 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 5 | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | 5 | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; |
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; |
| 7 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | 7 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; |
| 8 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO; | 8 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO; |
| 9 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*; | 9 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*; |
| @@ -67,7 +67,7 @@ public interface PayOrderConvert { | @@ -67,7 +67,7 @@ public interface PayOrderConvert { | ||
| 67 | PayOrderUnifiedReqDTO convert2(PayOrderSubmitReqVO reqVO, String userIp); | 67 | PayOrderUnifiedReqDTO convert2(PayOrderSubmitReqVO reqVO, String userIp); |
| 68 | 68 | ||
| 69 | @Mapping(source = "order.status", target = "status") | 69 | @Mapping(source = "order.status", target = "status") |
| 70 | - PayOrderSubmitRespVO convert(PayOrderDO order, cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO respDTO); | 70 | + PayOrderSubmitRespVO convert(PayOrderDO order, cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO respDTO); |
| 71 | 71 | ||
| 72 | AppPayOrderSubmitRespVO convert3(PayOrderSubmitRespVO bean); | 72 | AppPayOrderSubmitRespVO convert3(PayOrderSubmitRespVO bean); |
| 73 | 73 |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/channel/PayChannelDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.channel; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.channel; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.util.StrUtil; | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 5 | +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 6 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientConfig; | ||
| 6 | import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; | 8 | import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; |
| 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 9 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.NonePayClientConfig; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayAppPayClient; | ||
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; | ||
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig; | ||
| 8 | import com.baomidou.mybatisplus.annotation.KeySequence; | 14 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 9 | import com.baomidou.mybatisplus.annotation.TableField; | 15 | import com.baomidou.mybatisplus.annotation.TableField; |
| 10 | import com.baomidou.mybatisplus.annotation.TableName; | 16 | import com.baomidou.mybatisplus.annotation.TableName; |
| 17 | +import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler; | ||
| 11 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; | 18 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| 19 | +import com.fasterxml.jackson.core.type.TypeReference; | ||
| 12 | import lombok.*; | 20 | import lombok.*; |
| 13 | 21 | ||
| 22 | +import java.lang.reflect.Field; | ||
| 23 | + | ||
| 14 | /** | 24 | /** |
| 15 | * 支付渠道 DO | 25 | * 支付渠道 DO |
| 16 | * 一个应用下,会有多种支付渠道,例如说微信支付、支付宝支付等等 | 26 | * 一个应用下,会有多种支付渠道,例如说微信支付、支付宝支付等等 |
| @@ -63,7 +73,46 @@ public class PayChannelDO extends TenantBaseDO { | @@ -63,7 +73,46 @@ public class PayChannelDO extends TenantBaseDO { | ||
| 63 | /** | 73 | /** |
| 64 | * 支付渠道配置 | 74 | * 支付渠道配置 |
| 65 | */ | 75 | */ |
| 66 | - @TableField(typeHandler = JacksonTypeHandler.class) | 76 | + @TableField(typeHandler = PayClientConfigTypeHandler.class) |
| 67 | private PayClientConfig config; | 77 | private PayClientConfig config; |
| 68 | 78 | ||
| 79 | + public static class PayClientConfigTypeHandler extends AbstractJsonTypeHandler<Object> { | ||
| 80 | + | ||
| 81 | + public PayClientConfigTypeHandler(Class<?> type) { | ||
| 82 | + super(type); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + public PayClientConfigTypeHandler(Class<?> type, Field field) { | ||
| 86 | + super(type, field); | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + @Override | ||
| 90 | + public Object parse(String json) { | ||
| 91 | + PayClientConfig config = JsonUtils.parseObjectQuietly(json, new TypeReference<>() {}); | ||
| 92 | + if (config != null) { | ||
| 93 | + return config; | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + // 兼容老版本的包路径 | ||
| 97 | + String className = JsonUtils.parseObject(json, "@class", String.class); | ||
| 98 | + className = StrUtil.subAfter(className, ".", true); | ||
| 99 | + switch (className) { | ||
| 100 | + case "AlipayPayClientConfig": | ||
| 101 | + return JsonUtils.parseObject2(json, AlipayPayClientConfig.class); | ||
| 102 | + case "WxPayClientConfig": | ||
| 103 | + return JsonUtils.parseObject2(json, WxPayClientConfig.class); | ||
| 104 | + case "NonePayClientConfig": | ||
| 105 | + return JsonUtils.parseObject2(json, NonePayClientConfig.class); | ||
| 106 | + default: | ||
| 107 | + throw new IllegalArgumentException("未知的 PayClientConfig 类型:" + json); | ||
| 108 | + } | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + @Override | ||
| 112 | + public String toJson(Object obj) { | ||
| 113 | + return JsonUtils.toJsonString(obj); | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + } | ||
| 117 | + | ||
| 69 | } | 118 | } |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.order; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.order; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 5 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 4 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 5 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 6 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 7 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; | 7 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 8 | import com.baomidou.mybatisplus.annotation.KeySequence; | 8 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 9 | import com.baomidou.mybatisplus.annotation.TableName; | 9 | import com.baomidou.mybatisplus.annotation.TableName; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderExtensionDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.order; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.order; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; |
| 4 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 4 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 5 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; | 5 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 6 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 6 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/refund/PayRefundDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.refund; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.refund; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 4 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 8 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; | 8 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.transfer; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.transfer; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.transfer.PayTransferStatusRespEnum; | 4 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 5 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 7 | +import cn.iocoder.yudao.module.pay.enums.transfer.PayTransferStatusEnum; | ||
| 8 | import com.baomidou.mybatisplus.annotation.KeySequence; | 8 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 9 | import com.baomidou.mybatisplus.annotation.TableField; | 9 | import com.baomidou.mybatisplus.annotation.TableField; |
| 10 | import com.baomidou.mybatisplus.annotation.TableId; | 10 | import com.baomidou.mybatisplus.annotation.TableId; |
| @@ -89,7 +89,7 @@ public class PayTransferDO extends BaseDO { | @@ -89,7 +89,7 @@ public class PayTransferDO extends BaseDO { | ||
| 89 | /** | 89 | /** |
| 90 | * 转账状态 | 90 | * 转账状态 |
| 91 | * | 91 | * |
| 92 | - * 枚举 {@link PayTransferStatusRespEnum} | 92 | + * 枚举 {@link PayTransferStatusEnum} |
| 93 | */ | 93 | */ |
| 94 | private Integer status; | 94 | private Integer status; |
| 95 | 95 |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/config/PayConfiguration.java
| 1 | package cn.iocoder.yudao.module.pay.framework.pay.config; | 1 | package cn.iocoder.yudao.module.pay.framework.pay.config; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientFactory; | ||
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.PayClientFactoryImpl; | ||
| 3 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 5 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 6 | +import org.springframework.context.annotation.Bean; | ||
| 4 | import org.springframework.context.annotation.Configuration; | 7 | import org.springframework.context.annotation.Configuration; |
| 5 | 8 | ||
| 6 | @Configuration(proxyBeanMethods = false) | 9 | @Configuration(proxyBeanMethods = false) |
| 7 | @EnableConfigurationProperties(PayProperties.class) | 10 | @EnableConfigurationProperties(PayProperties.class) |
| 8 | public class PayConfiguration { | 11 | public class PayConfiguration { |
| 12 | + | ||
| 13 | + @Bean | ||
| 14 | + public PayClientFactory payClientFactory() { | ||
| 15 | + return new PayClientFactoryImpl(); | ||
| 16 | + } | ||
| 17 | + | ||
| 9 | } | 18 | } |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/PayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/PayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client; |
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 9 | 9 | ||
| 10 | import java.util.Map; | 10 | import java.util.Map; |
| 11 | 11 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/PayClientConfig.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/PayClientConfig.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client; |
| 2 | 2 | ||
| 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
| 4 | import com.fasterxml.jackson.annotation.JsonTypeInfo; | 4 | import com.fasterxml.jackson.annotation.JsonTypeInfo; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/PayClientFactory.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/PayClientFactory.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client; |
| 4 | 2 | ||
| 5 | /** | 3 | /** |
| 6 | * 支付客户端的工厂接口 | 4 | * 支付客户端的工厂接口 |
| @@ -27,13 +25,4 @@ public interface PayClientFactory { | @@ -27,13 +25,4 @@ public interface PayClientFactory { | ||
| 27 | */ | 25 | */ |
| 28 | <Config extends PayClientConfig> PayClient createOrUpdatePayClient(Long channelId, String channelCode, | 26 | <Config extends PayClientConfig> PayClient createOrUpdatePayClient(Long channelId, String channelCode, |
| 29 | Config config); | 27 | Config config); |
| 30 | - | ||
| 31 | - /** | ||
| 32 | - * 注册支付客户端 Class,用于模块中实现的 PayClient | ||
| 33 | - * | ||
| 34 | - * @param channel 支付渠道的编码的枚举 | ||
| 35 | - * @param payClientClass 支付客户端 class | ||
| 36 | - */ | ||
| 37 | - void registerPayClientClass(PayChannelEnum channel, Class<?> payClientClass); | ||
| 38 | - | ||
| 39 | } | 28 | } |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/order/PayOrderRespDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/order/PayOrderRespDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.order; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.exception.PayException; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.exception.PayClientException; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 6 | import lombok.Data; | 6 | import lombok.Data; |
| 7 | 7 | ||
| 8 | import java.time.LocalDateTime; | 8 | import java.time.LocalDateTime; |
| @@ -18,7 +18,7 @@ public class PayOrderRespDTO { | @@ -18,7 +18,7 @@ public class PayOrderRespDTO { | ||
| 18 | /** | 18 | /** |
| 19 | * 支付状态 | 19 | * 支付状态 |
| 20 | * | 20 | * |
| 21 | - * 枚举:{@link PayOrderStatusRespEnum} | 21 | + * 枚举:{@link PayOrderStatusEnum} |
| 22 | */ | 22 | */ |
| 23 | private Integer status; | 23 | private Integer status; |
| 24 | 24 | ||
| @@ -65,7 +65,7 @@ public class PayOrderRespDTO { | @@ -65,7 +65,7 @@ public class PayOrderRespDTO { | ||
| 65 | * 调用渠道的错误码 | 65 | * 调用渠道的错误码 |
| 66 | * | 66 | * |
| 67 | * 注意:这里返回的是业务异常,而是不系统异常。 | 67 | * 注意:这里返回的是业务异常,而是不系统异常。 |
| 68 | - * 如果是系统异常,则会抛出 {@link PayException} | 68 | + * 如果是系统异常,则会抛出 {@link PayClientException} |
| 69 | */ | 69 | */ |
| 70 | private String channelErrorCode; | 70 | private String channelErrorCode; |
| 71 | /** | 71 | /** |
| @@ -82,7 +82,7 @@ public class PayOrderRespDTO { | @@ -82,7 +82,7 @@ public class PayOrderRespDTO { | ||
| 82 | public static PayOrderRespDTO waitingOf(String displayMode, String displayContent, | 82 | public static PayOrderRespDTO waitingOf(String displayMode, String displayContent, |
| 83 | String outTradeNo, Object rawData) { | 83 | String outTradeNo, Object rawData) { |
| 84 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); | 84 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); |
| 85 | - respDTO.status = PayOrderStatusRespEnum.WAITING.getStatus(); | 85 | + respDTO.status = PayOrderStatusEnum.WAITING.getStatus(); |
| 86 | respDTO.displayMode = displayMode; | 86 | respDTO.displayMode = displayMode; |
| 87 | respDTO.displayContent = displayContent; | 87 | respDTO.displayContent = displayContent; |
| 88 | // 相对通用的字段 | 88 | // 相对通用的字段 |
| @@ -97,7 +97,7 @@ public class PayOrderRespDTO { | @@ -97,7 +97,7 @@ public class PayOrderRespDTO { | ||
| 97 | public static PayOrderRespDTO successOf(String channelOrderNo, String channelUserId, LocalDateTime successTime, | 97 | public static PayOrderRespDTO successOf(String channelOrderNo, String channelUserId, LocalDateTime successTime, |
| 98 | String outTradeNo, Object rawData) { | 98 | String outTradeNo, Object rawData) { |
| 99 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); | 99 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); |
| 100 | - respDTO.status = PayOrderStatusRespEnum.SUCCESS.getStatus(); | 100 | + respDTO.status = PayOrderStatusEnum.SUCCESS.getStatus(); |
| 101 | respDTO.channelOrderNo = channelOrderNo; | 101 | respDTO.channelOrderNo = channelOrderNo; |
| 102 | respDTO.channelUserId = channelUserId; | 102 | respDTO.channelUserId = channelUserId; |
| 103 | respDTO.successTime = successTime; | 103 | respDTO.successTime = successTime; |
| @@ -129,7 +129,7 @@ public class PayOrderRespDTO { | @@ -129,7 +129,7 @@ public class PayOrderRespDTO { | ||
| 129 | public static PayOrderRespDTO closedOf(String channelErrorCode, String channelErrorMsg, | 129 | public static PayOrderRespDTO closedOf(String channelErrorCode, String channelErrorMsg, |
| 130 | String outTradeNo, Object rawData) { | 130 | String outTradeNo, Object rawData) { |
| 131 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); | 131 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); |
| 132 | - respDTO.status = PayOrderStatusRespEnum.CLOSED.getStatus(); | 132 | + respDTO.status = PayOrderStatusEnum.CLOSED.getStatus(); |
| 133 | respDTO.channelErrorCode = channelErrorCode; | 133 | respDTO.channelErrorCode = channelErrorCode; |
| 134 | respDTO.channelErrorMsg = channelErrorMsg; | 134 | respDTO.channelErrorMsg = channelErrorMsg; |
| 135 | // 相对通用的字段 | 135 | // 相对通用的字段 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.order; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; |
| 4 | import lombok.Data; | 4 | import lombok.Data; |
| 5 | import org.hibernate.validator.constraints.Length; | 5 | import org.hibernate.validator.constraints.Length; |
| 6 | import org.hibernate.validator.constraints.URL; | 6 | import org.hibernate.validator.constraints.URL; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/refund/PayRefundRespDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/refund/PayRefundRespDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.refund; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.exception.PayException; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.enums.refund.PayRefundStatusRespEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.exception.PayClientException; | ||
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 | ||
| 7 | import java.time.LocalDateTime; | 7 | import java.time.LocalDateTime; |
| @@ -17,7 +17,7 @@ public class PayRefundRespDTO { | @@ -17,7 +17,7 @@ public class PayRefundRespDTO { | ||
| 17 | /** | 17 | /** |
| 18 | * 退款状态 | 18 | * 退款状态 |
| 19 | * | 19 | * |
| 20 | - * 枚举 {@link PayRefundStatusRespEnum} | 20 | + * 枚举 {@link PayRefundStatusEnum} |
| 21 | */ | 21 | */ |
| 22 | private Integer status; | 22 | private Integer status; |
| 23 | 23 | ||
| @@ -49,7 +49,7 @@ public class PayRefundRespDTO { | @@ -49,7 +49,7 @@ public class PayRefundRespDTO { | ||
| 49 | * 调用渠道的错误码 | 49 | * 调用渠道的错误码 |
| 50 | * | 50 | * |
| 51 | * 注意:这里返回的是业务异常,而是不系统异常。 | 51 | * 注意:这里返回的是业务异常,而是不系统异常。 |
| 52 | - * 如果是系统异常,则会抛出 {@link PayException} | 52 | + * 如果是系统异常,则会抛出 {@link PayClientException} |
| 53 | */ | 53 | */ |
| 54 | private String channelErrorCode; | 54 | private String channelErrorCode; |
| 55 | /** | 55 | /** |
| @@ -66,7 +66,7 @@ public class PayRefundRespDTO { | @@ -66,7 +66,7 @@ public class PayRefundRespDTO { | ||
| 66 | public static PayRefundRespDTO waitingOf(String channelRefundNo, | 66 | public static PayRefundRespDTO waitingOf(String channelRefundNo, |
| 67 | String outRefundNo, Object rawData) { | 67 | String outRefundNo, Object rawData) { |
| 68 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); | 68 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); |
| 69 | - respDTO.status = PayRefundStatusRespEnum.WAITING.getStatus(); | 69 | + respDTO.status = PayRefundStatusEnum.WAITING.getStatus(); |
| 70 | respDTO.channelRefundNo = channelRefundNo; | 70 | respDTO.channelRefundNo = channelRefundNo; |
| 71 | // 相对通用的字段 | 71 | // 相对通用的字段 |
| 72 | respDTO.outRefundNo = outRefundNo; | 72 | respDTO.outRefundNo = outRefundNo; |
| @@ -80,7 +80,7 @@ public class PayRefundRespDTO { | @@ -80,7 +80,7 @@ public class PayRefundRespDTO { | ||
| 80 | public static PayRefundRespDTO successOf(String channelRefundNo, LocalDateTime successTime, | 80 | public static PayRefundRespDTO successOf(String channelRefundNo, LocalDateTime successTime, |
| 81 | String outRefundNo, Object rawData) { | 81 | String outRefundNo, Object rawData) { |
| 82 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); | 82 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); |
| 83 | - respDTO.status = PayRefundStatusRespEnum.SUCCESS.getStatus(); | 83 | + respDTO.status = PayRefundStatusEnum.SUCCESS.getStatus(); |
| 84 | respDTO.channelRefundNo = channelRefundNo; | 84 | respDTO.channelRefundNo = channelRefundNo; |
| 85 | respDTO.successTime = successTime; | 85 | respDTO.successTime = successTime; |
| 86 | // 相对通用的字段 | 86 | // 相对通用的字段 |
| @@ -103,7 +103,7 @@ public class PayRefundRespDTO { | @@ -103,7 +103,7 @@ public class PayRefundRespDTO { | ||
| 103 | public static PayRefundRespDTO failureOf(String channelErrorCode, String channelErrorMsg, | 103 | public static PayRefundRespDTO failureOf(String channelErrorCode, String channelErrorMsg, |
| 104 | String outRefundNo, Object rawData) { | 104 | String outRefundNo, Object rawData) { |
| 105 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); | 105 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); |
| 106 | - respDTO.status = PayRefundStatusRespEnum.FAILURE.getStatus(); | 106 | + respDTO.status = PayRefundStatusEnum.FAILURE.getStatus(); |
| 107 | respDTO.channelErrorCode = channelErrorCode; | 107 | respDTO.channelErrorCode = channelErrorCode; |
| 108 | respDTO.channelErrorMsg = channelErrorMsg; | 108 | respDTO.channelErrorMsg = channelErrorMsg; |
| 109 | // 相对通用的字段 | 109 | // 相对通用的字段 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/refund/PayRefundUnifiedReqDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/refund/PayRefundUnifiedReqDTO.java
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/transfer/PayTransferRespDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/transfer/PayTransferRespDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.transfer; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.enums.transfer.PayTransferStatusRespEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.transfer.PayTransferStatusEnum; |
| 4 | import lombok.Data; | 4 | import lombok.Data; |
| 5 | 5 | ||
| 6 | import java.time.LocalDateTime; | 6 | import java.time.LocalDateTime; |
| @@ -16,7 +16,7 @@ public class PayTransferRespDTO { | @@ -16,7 +16,7 @@ public class PayTransferRespDTO { | ||
| 16 | /** | 16 | /** |
| 17 | * 转账状态 | 17 | * 转账状态 |
| 18 | * | 18 | * |
| 19 | - * 关联 {@link PayTransferStatusRespEnum#getStatus()} | 19 | + * 关联 {@link PayTransferStatusEnum} |
| 20 | */ | 20 | */ |
| 21 | private Integer status; | 21 | private Integer status; |
| 22 | 22 | ||
| @@ -63,7 +63,7 @@ public class PayTransferRespDTO { | @@ -63,7 +63,7 @@ public class PayTransferRespDTO { | ||
| 63 | public static PayTransferRespDTO waitingOf(String channelTransferNo, | 63 | public static PayTransferRespDTO waitingOf(String channelTransferNo, |
| 64 | String outTransferNo, Object rawData) { | 64 | String outTransferNo, Object rawData) { |
| 65 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); | 65 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); |
| 66 | - respDTO.status = PayTransferStatusRespEnum.WAITING.getStatus(); | 66 | + respDTO.status = PayTransferStatusEnum.WAITING.getStatus(); |
| 67 | respDTO.channelTransferNo = channelTransferNo; | 67 | respDTO.channelTransferNo = channelTransferNo; |
| 68 | respDTO.outTransferNo = outTransferNo; | 68 | respDTO.outTransferNo = outTransferNo; |
| 69 | respDTO.rawData = rawData; | 69 | respDTO.rawData = rawData; |
| @@ -76,7 +76,7 @@ public class PayTransferRespDTO { | @@ -76,7 +76,7 @@ public class PayTransferRespDTO { | ||
| 76 | public static PayTransferRespDTO processingOf(String channelTransferNo, | 76 | public static PayTransferRespDTO processingOf(String channelTransferNo, |
| 77 | String outTransferNo, Object rawData) { | 77 | String outTransferNo, Object rawData) { |
| 78 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); | 78 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); |
| 79 | - respDTO.status = PayTransferStatusRespEnum.PROCESSING.getStatus(); | 79 | + respDTO.status = PayTransferStatusEnum.PROCESSING.getStatus(); |
| 80 | respDTO.channelTransferNo = channelTransferNo; | 80 | respDTO.channelTransferNo = channelTransferNo; |
| 81 | respDTO.outTransferNo = outTransferNo; | 81 | respDTO.outTransferNo = outTransferNo; |
| 82 | respDTO.rawData = rawData; | 82 | respDTO.rawData = rawData; |
| @@ -89,7 +89,7 @@ public class PayTransferRespDTO { | @@ -89,7 +89,7 @@ public class PayTransferRespDTO { | ||
| 89 | public static PayTransferRespDTO closedOf(String channelErrorCode, String channelErrorMsg, | 89 | public static PayTransferRespDTO closedOf(String channelErrorCode, String channelErrorMsg, |
| 90 | String outTransferNo, Object rawData) { | 90 | String outTransferNo, Object rawData) { |
| 91 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); | 91 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); |
| 92 | - respDTO.status = PayTransferStatusRespEnum.CLOSED.getStatus(); | 92 | + respDTO.status = PayTransferStatusEnum.CLOSED.getStatus(); |
| 93 | respDTO.channelErrorCode = channelErrorCode; | 93 | respDTO.channelErrorCode = channelErrorCode; |
| 94 | respDTO.channelErrorMsg = channelErrorMsg; | 94 | respDTO.channelErrorMsg = channelErrorMsg; |
| 95 | // 相对通用的字段 | 95 | // 相对通用的字段 |
| @@ -104,7 +104,7 @@ public class PayTransferRespDTO { | @@ -104,7 +104,7 @@ public class PayTransferRespDTO { | ||
| 104 | public static PayTransferRespDTO successOf(String channelTransferNo, LocalDateTime successTime, | 104 | public static PayTransferRespDTO successOf(String channelTransferNo, LocalDateTime successTime, |
| 105 | String outTransferNo, Object rawData) { | 105 | String outTransferNo, Object rawData) { |
| 106 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); | 106 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); |
| 107 | - respDTO.status = PayTransferStatusRespEnum.SUCCESS.getStatus(); | 107 | + respDTO.status = PayTransferStatusEnum.SUCCESS.getStatus(); |
| 108 | respDTO.channelTransferNo = channelTransferNo; | 108 | respDTO.channelTransferNo = channelTransferNo; |
| 109 | respDTO.successTime = successTime; | 109 | respDTO.successTime = successTime; |
| 110 | // 相对通用的字段 | 110 | // 相对通用的字段 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/transfer/PayTransferUnifiedReqDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/transfer/PayTransferUnifiedReqDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.transfer; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer; |
| 2 | 2 | ||
| 3 | import jakarta.validation.constraints.Min; | 3 | import jakarta.validation.constraints.Min; |
| 4 | import jakarta.validation.constraints.NotEmpty; | 4 | import jakarta.validation.constraints.NotEmpty; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/exception/PayException.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/exception/PayClientException.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.exception; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.exception; |
| 2 | 2 | ||
| 3 | import lombok.Data; | 3 | import lombok.Data; |
| 4 | import lombok.EqualsAndHashCode; | 4 | import lombok.EqualsAndHashCode; |
| @@ -8,9 +8,9 @@ import lombok.EqualsAndHashCode; | @@ -8,9 +8,9 @@ import lombok.EqualsAndHashCode; | ||
| 8 | */ | 8 | */ |
| 9 | @Data | 9 | @Data |
| 10 | @EqualsAndHashCode(callSuper = true) | 10 | @EqualsAndHashCode(callSuper = true) |
| 11 | -public class PayException extends RuntimeException { | 11 | +public class PayClientException extends RuntimeException { |
| 12 | 12 | ||
| 13 | - public PayException(Throwable cause) { | 13 | + public PayClientException(Throwable cause) { |
| 14 | super(cause); | 14 | super(cause); |
| 15 | } | 15 | } |
| 16 | 16 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/AbstractPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/AbstractPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.exception.ServiceException; | 3 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 4 | import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; | 4 | import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 11 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 12 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 13 | -import cn.iocoder.yudao.framework.pay.core.client.exception.PayException; | 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; |
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientConfig; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.exception.PayClientException; | ||
| 14 | import lombok.extern.slf4j.Slf4j; | 14 | import lombok.extern.slf4j.Slf4j; |
| 15 | 15 | ||
| 16 | import java.util.Map; | 16 | import java.util.Map; |
| @@ -241,11 +241,11 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen | @@ -241,11 +241,11 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen | ||
| 241 | 241 | ||
| 242 | // ========== 各种工具方法 ========== | 242 | // ========== 各种工具方法 ========== |
| 243 | 243 | ||
| 244 | - private PayException buildPayException(Throwable ex) { | ||
| 245 | - if (ex instanceof PayException) { | ||
| 246 | - return (PayException) ex; | 244 | + private PayClientException buildPayException(Throwable ex) { |
| 245 | + if (ex instanceof PayClientException) { | ||
| 246 | + return (PayClientException) ex; | ||
| 247 | } | 247 | } |
| 248 | - throw new PayException(ex); | 248 | + throw new PayClientException(ex); |
| 249 | } | 249 | } |
| 250 | 250 | ||
| 251 | } | 251 | } |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/NonePayClientConfig.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/NonePayClientConfig.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientConfig; |
| 4 | import lombok.Data; | 4 | import lombok.Data; |
| 5 | 5 | ||
| 6 | import jakarta.validation.Validator; | 6 | import jakarta.validation.Validator; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/PayClientFactoryImpl.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/PayClientFactoryImpl.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.lang.Assert; | 3 | import cn.hutool.core.lang.Assert; |
| 4 | import cn.hutool.core.util.ReflectUtil; | 4 | import cn.hutool.core.util.ReflectUtil; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.*; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.impl.mock.MockPayClient; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.*; | ||
| 11 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 5 | +import cn.hutool.core.util.TypeUtil; |
| 6 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientConfig; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientFactory; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.*; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.wallet.WalletPayClient; | ||
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.*; | ||
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.mock.MockPayClient; | ||
| 12 | import lombok.extern.slf4j.Slf4j; | 14 | import lombok.extern.slf4j.Slf4j; |
| 13 | 15 | ||
| 16 | +import java.lang.reflect.Type; | ||
| 14 | import java.util.Map; | 17 | import java.util.Map; |
| 15 | import java.util.concurrent.ConcurrentHashMap; | 18 | import java.util.concurrent.ConcurrentHashMap; |
| 16 | import java.util.concurrent.ConcurrentMap; | 19 | import java.util.concurrent.ConcurrentMap; |
| 17 | 20 | ||
| 18 | -import static cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum.*; | 21 | +import static cn.iocoder.yudao.module.pay.enums.PayChannelEnum.*; |
| 19 | 22 | ||
| 20 | /** | 23 | /** |
| 21 | * 支付客户端的工厂实现类 | 24 | * 支付客户端的工厂实现类 |
| @@ -35,7 +38,7 @@ public class PayClientFactoryImpl implements PayClientFactory { | @@ -35,7 +38,7 @@ public class PayClientFactoryImpl implements PayClientFactory { | ||
| 35 | /** | 38 | /** |
| 36 | * 支付客户端 Class Map | 39 | * 支付客户端 Class Map |
| 37 | */ | 40 | */ |
| 38 | - private final Map<PayChannelEnum, Class<?>> clientClass = new ConcurrentHashMap<>(); | 41 | + private final Map<PayChannelEnum, Class<? extends PayClient<?>>> clientClass = new ConcurrentHashMap<>(); |
| 39 | 42 | ||
| 40 | public PayClientFactoryImpl() { | 43 | public PayClientFactoryImpl() { |
| 41 | // 微信支付客户端 | 44 | // 微信支付客户端 |
| @@ -51,16 +54,13 @@ public class PayClientFactoryImpl implements PayClientFactory { | @@ -51,16 +54,13 @@ public class PayClientFactoryImpl implements PayClientFactory { | ||
| 51 | clientClass.put(ALIPAY_APP, AlipayAppPayClient.class); | 54 | clientClass.put(ALIPAY_APP, AlipayAppPayClient.class); |
| 52 | clientClass.put(ALIPAY_PC, AlipayPcPayClient.class); | 55 | clientClass.put(ALIPAY_PC, AlipayPcPayClient.class); |
| 53 | clientClass.put(ALIPAY_BAR, AlipayBarPayClient.class); | 56 | clientClass.put(ALIPAY_BAR, AlipayBarPayClient.class); |
| 57 | + // 钱包支付客户端 | ||
| 58 | + clientClass.put(WALLET, WalletPayClient.class); | ||
| 54 | // Mock 支付客户端 | 59 | // Mock 支付客户端 |
| 55 | clientClass.put(MOCK, MockPayClient.class); | 60 | clientClass.put(MOCK, MockPayClient.class); |
| 56 | } | 61 | } |
| 57 | 62 | ||
| 58 | @Override | 63 | @Override |
| 59 | - public void registerPayClientClass(PayChannelEnum channel, Class<?> payClientClass) { | ||
| 60 | - clientClass.put(channel, payClientClass); | ||
| 61 | - } | ||
| 62 | - | ||
| 63 | - @Override | ||
| 64 | public PayClient getPayClient(Long channelId) { | 64 | public PayClient getPayClient(Long channelId) { |
| 65 | AbstractPayClient<?> client = clients.get(channelId); | 65 | AbstractPayClient<?> client = clients.get(channelId); |
| 66 | if (client == null) { | 66 | if (client == null) { |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.bean.BeanUtil; | 3 | import cn.hutool.core.bean.BeanUtil; |
| 4 | import cn.hutool.core.date.LocalDateTimeUtil; | 4 | import cn.hutool.core.date.LocalDateTimeUtil; |
| @@ -8,14 +8,14 @@ import cn.hutool.core.util.StrUtil; | @@ -8,14 +8,14 @@ import cn.hutool.core.util.StrUtil; | ||
| 8 | import cn.hutool.http.HttpUtil; | 8 | import cn.hutool.http.HttpUtil; |
| 9 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 9 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 10 | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | 10 | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; |
| 11 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 12 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 13 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 14 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 15 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 16 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 17 | -import cn.iocoder.yudao.framework.pay.core.client.impl.AbstractPayClient; | ||
| 18 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum; | 11 | +import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 14 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 15 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 16 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 17 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 18 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.AbstractPayClient; | ||
| 19 | import com.alipay.api.AlipayApiException; | 19 | import com.alipay.api.AlipayApiException; |
| 20 | import com.alipay.api.AlipayConfig; | 20 | import com.alipay.api.AlipayConfig; |
| 21 | import com.alipay.api.AlipayResponse; | 21 | import com.alipay.api.AlipayResponse; |
| @@ -39,8 +39,8 @@ import java.util.Objects; | @@ -39,8 +39,8 @@ import java.util.Objects; | ||
| 39 | import java.util.function.Supplier; | 39 | import java.util.function.Supplier; |
| 40 | 40 | ||
| 41 | import static cn.hutool.core.date.DatePattern.NORM_DATETIME_FORMATTER; | 41 | import static cn.hutool.core.date.DatePattern.NORM_DATETIME_FORMATTER; |
| 42 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_CERTIFICATE; | ||
| 43 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_PUBLIC_KEY; | 42 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_CERTIFICATE; |
| 43 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_PUBLIC_KEY; | ||
| 44 | 44 | ||
| 45 | /** | 45 | /** |
| 46 | * 支付宝抽象类,实现支付宝统一的接口、以及部分实现(退款) | 46 | * 支付宝抽象类,实现支付宝统一的接口、以及部分实现(退款) |
| @@ -89,7 +89,7 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient<AlipayPa | @@ -89,7 +89,7 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient<AlipayPa | ||
| 89 | Integer status = parseStatus(bodyObj.get("trade_status")); | 89 | Integer status = parseStatus(bodyObj.get("trade_status")); |
| 90 | // 特殊逻辑: 支付宝没有退款成功的状态,所以,如果有退款金额,我们认为是退款成功 | 90 | // 特殊逻辑: 支付宝没有退款成功的状态,所以,如果有退款金额,我们认为是退款成功 |
| 91 | if (MapUtil.getDouble(bodyObj, "refund_fee", 0D) > 0) { | 91 | if (MapUtil.getDouble(bodyObj, "refund_fee", 0D) > 0) { |
| 92 | - status = PayOrderStatusRespEnum.REFUND.getStatus(); | 92 | + status = PayOrderStatusEnum.REFUND.getStatus(); |
| 93 | } | 93 | } |
| 94 | Assert.notNull(status, (Supplier<Throwable>) () -> { | 94 | Assert.notNull(status, (Supplier<Throwable>) () -> { |
| 95 | throw new IllegalArgumentException(StrUtil.format("body({}) 的 trade_status 不正确", body)); | 95 | throw new IllegalArgumentException(StrUtil.format("body({}) 的 trade_status 不正确", body)); |
| @@ -127,9 +127,9 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient<AlipayPa | @@ -127,9 +127,9 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient<AlipayPa | ||
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | private static Integer parseStatus(String tradeStatus) { | 129 | private static Integer parseStatus(String tradeStatus) { |
| 130 | - return Objects.equals("WAIT_BUYER_PAY", tradeStatus) ? PayOrderStatusRespEnum.WAITING.getStatus() | ||
| 131 | - : ObjectUtils.equalsAny(tradeStatus, "TRADE_FINISHED", "TRADE_SUCCESS") ? PayOrderStatusRespEnum.SUCCESS.getStatus() | ||
| 132 | - : Objects.equals("TRADE_CLOSED", tradeStatus) ? PayOrderStatusRespEnum.CLOSED.getStatus() : null; | 130 | + return Objects.equals("WAIT_BUYER_PAY", tradeStatus) ? PayOrderStatusEnum.WAITING.getStatus() |
| 131 | + : ObjectUtils.equalsAny(tradeStatus, "TRADE_FINISHED", "TRADE_SUCCESS") ? PayOrderStatusEnum.SUCCESS.getStatus() | ||
| 132 | + : Objects.equals("TRADE_CLOSED", tradeStatus) ? PayOrderStatusEnum.CLOSED.getStatus() : null; | ||
| 133 | } | 133 | } |
| 134 | 134 | ||
| 135 | // ============ 退款相关 ========== | 135 | // ============ 退款相关 ========== |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayAppPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayAppPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 8 | import com.alipay.api.AlipayApiException; | 7 | import com.alipay.api.AlipayApiException; |
| 9 | import com.alipay.api.domain.AlipayTradeAppPayModel; | 8 | import com.alipay.api.domain.AlipayTradeAppPayModel; |
| 10 | import com.alipay.api.request.AlipayTradeAppPayRequest; | 9 | import com.alipay.api.request.AlipayTradeAppPayRequest; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayBarPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayBarPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.date.LocalDateTimeUtil; | 3 | import cn.hutool.core.date.LocalDateTimeUtil; |
| 4 | import cn.hutool.core.map.MapUtil; | 4 | import cn.hutool.core.map.MapUtil; |
| 5 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 6 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 11 | import com.alipay.api.AlipayApiException; | 10 | import com.alipay.api.AlipayApiException; |
| 12 | import com.alipay.api.domain.AlipayTradePayModel; | 11 | import com.alipay.api.domain.AlipayTradePayModel; |
| 13 | import com.alipay.api.request.AlipayTradePayRequest; | 12 | import com.alipay.api.request.AlipayTradePayRequest; |
| @@ -19,7 +18,7 @@ import java.util.Objects; | @@ -19,7 +18,7 @@ import java.util.Objects; | ||
| 19 | 18 | ||
| 20 | import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; | 19 | import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; |
| 21 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; | 20 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; |
| 22 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_CERTIFICATE; | 21 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_CERTIFICATE; |
| 23 | 22 | ||
| 24 | /** | 23 | /** |
| 25 | * 支付宝【条码支付】的 PayClient 实现类 | 24 | * 支付宝【条码支付】的 PayClient 实现类 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; | 3 | import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientConfig; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 | ||
| 7 | import jakarta.validation.Validator; | 7 | import jakarta.validation.Validator; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPcPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayPcPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.ObjectUtil; | 3 | import cn.hutool.core.util.ObjectUtil; |
| 4 | import cn.hutool.http.Method; | 4 | import cn.hutool.http.Method; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 5 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 10 | import com.alipay.api.AlipayApiException; | 9 | import com.alipay.api.AlipayApiException; |
| 11 | import com.alipay.api.domain.AlipayTradePagePayModel; | 10 | import com.alipay.api.domain.AlipayTradePagePayModel; |
| 12 | import com.alipay.api.request.AlipayTradePagePayRequest; | 11 | import com.alipay.api.request.AlipayTradePagePayRequest; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayQrPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayQrPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 7 | import com.alipay.api.AlipayApiException; | 7 | import com.alipay.api.AlipayApiException; |
| 8 | import com.alipay.api.domain.AlipayTradePrecreateModel; | 8 | import com.alipay.api.domain.AlipayTradePrecreateModel; |
| 9 | import com.alipay.api.request.AlipayTradePrecreateRequest; | 9 | import com.alipay.api.request.AlipayTradePrecreateRequest; |
| @@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j; | @@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j; | ||
| 12 | 12 | ||
| 13 | import java.util.Objects; | 13 | import java.util.Objects; |
| 14 | 14 | ||
| 15 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_CERTIFICATE; | 15 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_CERTIFICATE; |
| 16 | 16 | ||
| 17 | /** | 17 | /** |
| 18 | * 支付宝【扫码支付】的 PayClient 实现类 | 18 | * 支付宝【扫码支付】的 PayClient 实现类 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayWapPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayWapPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.hutool.http.Method; | 3 | import cn.hutool.http.Method; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 4 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 8 | import com.alipay.api.AlipayApiException; | 8 | import com.alipay.api.AlipayApiException; |
| 9 | import com.alipay.api.domain.AlipayTradeWapPayModel; | 9 | import com.alipay.api.domain.AlipayTradeWapPayModel; |
| 10 | import com.alipay.api.request.AlipayTradeWapPayRequest; | 10 | import com.alipay.api.request.AlipayTradeWapPayRequest; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/mock/MockPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/mock/MockPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.mock; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.impl.AbstractPayClient; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.impl.NonePayClientConfig; | ||
| 11 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.mock; |
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.AbstractPayClient; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.NonePayClientConfig; | ||
| 12 | 12 | ||
| 13 | import java.time.LocalDateTime; | 13 | import java.time.LocalDateTime; |
| 14 | import java.util.Map; | 14 | import java.util.Map; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/WalletPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/wallet/WalletPayClient.java
| 1 | -package cn.iocoder.yudao.module.pay.framework.pay.core; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.wallet; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.lang.Assert; | 3 | import cn.hutool.core.lang.Assert; |
| 4 | import cn.hutool.core.map.MapUtil; | 4 | import cn.hutool.core.map.MapUtil; |
| 5 | import cn.hutool.extra.spring.SpringUtil; | 5 | import cn.hutool.extra.spring.SpringUtil; |
| 6 | import cn.iocoder.yudao.framework.common.exception.ServiceException; | 6 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 11 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 12 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 13 | -import cn.iocoder.yudao.framework.pay.core.client.impl.AbstractPayClient; | ||
| 14 | -import cn.iocoder.yudao.framework.pay.core.client.impl.NonePayClientConfig; | ||
| 15 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 16 | -import cn.iocoder.yudao.framework.pay.core.enums.refund.PayRefundStatusRespEnum; | ||
| 17 | -import cn.iocoder.yudao.framework.pay.core.enums.transfer.PayTransferStatusRespEnum; | 7 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 8 | +import cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum; | ||
| 9 | +import cn.iocoder.yudao.module.pay.enums.transfer.PayTransferStatusEnum; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 14 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 15 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 16 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.AbstractPayClient; | ||
| 17 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.NonePayClientConfig; | ||
| 18 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO; | 18 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO; |
| 19 | import cn.iocoder.yudao.module.pay.dal.dataobject.refund.PayRefundDO; | 19 | import cn.iocoder.yudao.module.pay.dal.dataobject.refund.PayRefundDO; |
| 20 | import cn.iocoder.yudao.module.pay.dal.dataobject.transfer.PayTransferDO; | 20 | import cn.iocoder.yudao.module.pay.dal.dataobject.transfer.PayTransferDO; |
| @@ -51,7 +51,7 @@ public class WalletPayClient extends AbstractPayClient<NonePayClientConfig> { | @@ -51,7 +51,7 @@ public class WalletPayClient extends AbstractPayClient<NonePayClientConfig> { | ||
| 51 | private PayRefundService refundService; | 51 | private PayRefundService refundService; |
| 52 | private PayTransferService transferService; | 52 | private PayTransferService transferService; |
| 53 | 53 | ||
| 54 | - public WalletPayClient(Long channelId, NonePayClientConfig config) { | 54 | + public WalletPayClient(Long channelId, NonePayClientConfig config) { |
| 55 | super(channelId, PayChannelEnum.WALLET.getCode(), config); | 55 | super(channelId, PayChannelEnum.WALLET.getCode(), config); |
| 56 | } | 56 | } |
| 57 | 57 | ||
| @@ -163,12 +163,12 @@ public class WalletPayClient extends AbstractPayClient<NonePayClientConfig> { | @@ -163,12 +163,12 @@ public class WalletPayClient extends AbstractPayClient<NonePayClientConfig> { | ||
| 163 | outRefundNo, ""); | 163 | outRefundNo, ""); |
| 164 | } | 164 | } |
| 165 | // 退款失败 | 165 | // 退款失败 |
| 166 | - if (PayRefundStatusRespEnum.isFailure(payRefund.getStatus())) { | 166 | + if (PayRefundStatusEnum.isFailure(payRefund.getStatus())) { |
| 167 | return PayRefundRespDTO.failureOf(payRefund.getChannelErrorCode(), payRefund.getChannelErrorMsg(), | 167 | return PayRefundRespDTO.failureOf(payRefund.getChannelErrorCode(), payRefund.getChannelErrorMsg(), |
| 168 | outRefundNo, ""); | 168 | outRefundNo, ""); |
| 169 | } | 169 | } |
| 170 | // 退款成功 | 170 | // 退款成功 |
| 171 | - if (PayRefundStatusRespEnum.isSuccess(payRefund.getStatus())) { | 171 | + if (PayRefundStatusEnum.isSuccess(payRefund.getStatus())) { |
| 172 | PayWalletTransactionDO walletTransaction = walletTransactionService.getWalletTransaction( | 172 | PayWalletTransactionDO walletTransaction = walletTransactionService.getWalletTransaction( |
| 173 | String.valueOf(payRefund.getId()), PayWalletBizTypeEnum.PAYMENT_REFUND); | 173 | String.valueOf(payRefund.getId()), PayWalletBizTypeEnum.PAYMENT_REFUND); |
| 174 | Assert.notNull(walletTransaction, "支付退款单 {} 钱包流水不能为空", outRefundNo); | 174 | Assert.notNull(walletTransaction, "支付退款单 {} 钱包流水不能为空", outRefundNo); |
| @@ -221,12 +221,12 @@ public class WalletPayClient extends AbstractPayClient<NonePayClientConfig> { | @@ -221,12 +221,12 @@ public class WalletPayClient extends AbstractPayClient<NonePayClientConfig> { | ||
| 221 | PAY_ORDER_EXTENSION_NOT_FOUND.getMsg(), outTradeNo, ""); | 221 | PAY_ORDER_EXTENSION_NOT_FOUND.getMsg(), outTradeNo, ""); |
| 222 | } | 222 | } |
| 223 | // 关闭状态 | 223 | // 关闭状态 |
| 224 | - if (PayTransferStatusRespEnum.isClosed(transfer.getStatus())) { | 224 | + if (PayTransferStatusEnum.isClosed(transfer.getStatus())) { |
| 225 | return PayTransferRespDTO.closedOf(transfer.getChannelErrorCode(), | 225 | return PayTransferRespDTO.closedOf(transfer.getChannelErrorCode(), |
| 226 | transfer.getChannelErrorMsg(), outTradeNo, ""); | 226 | transfer.getChannelErrorMsg(), outTradeNo, ""); |
| 227 | } | 227 | } |
| 228 | // 成功状态 | 228 | // 成功状态 |
| 229 | - if (PayTransferStatusRespEnum.isSuccess(transfer.getStatus())) { | 229 | + if (PayTransferStatusEnum.isSuccess(transfer.getStatus())) { |
| 230 | PayWalletTransactionDO walletTransaction = walletTransactionService.getWalletTransaction( | 230 | PayWalletTransactionDO walletTransaction = walletTransactionService.getWalletTransaction( |
| 231 | String.valueOf(transfer.getId()), PayWalletBizTypeEnum.TRANSFER); | 231 | String.valueOf(transfer.getId()), PayWalletBizTypeEnum.TRANSFER); |
| 232 | Assert.notNull(walletTransaction, "转账单 {} 钱包流水不能为空", outTradeNo); | 232 | Assert.notNull(walletTransaction, "转账单 {} 钱包流水不能为空", outTradeNo); |
| @@ -234,12 +234,12 @@ public class WalletPayClient extends AbstractPayClient<NonePayClientConfig> { | @@ -234,12 +234,12 @@ public class WalletPayClient extends AbstractPayClient<NonePayClientConfig> { | ||
| 234 | outTradeNo, walletTransaction); | 234 | outTradeNo, walletTransaction); |
| 235 | } | 235 | } |
| 236 | // 处理中状态 | 236 | // 处理中状态 |
| 237 | - if (PayTransferStatusRespEnum.isProcessing(transfer.getStatus())) { | 237 | + if (PayTransferStatusEnum.isProcessing(transfer.getStatus())) { |
| 238 | return PayTransferRespDTO.processingOf(transfer.getChannelTransferNo(), | 238 | return PayTransferRespDTO.processingOf(transfer.getChannelTransferNo(), |
| 239 | outTradeNo, transfer); | 239 | outTradeNo, transfer); |
| 240 | } | 240 | } |
| 241 | // 等待状态 | 241 | // 等待状态 |
| 242 | - if (transfer.getStatus().equals(PayTransferStatusRespEnum.WAITING.getStatus())) { | 242 | + if (PayTransferStatusEnum.isWaiting(transfer.getStatus())) { |
| 243 | return PayTransferRespDTO.waitingOf(transfer.getChannelTransferNo(), | 243 | return PayTransferRespDTO.waitingOf(transfer.getChannelTransferNo(), |
| 244 | outTradeNo, transfer); | 244 | outTradeNo, transfer); |
| 245 | } | 245 | } |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.bean.BeanUtil; | 3 | import cn.hutool.core.bean.BeanUtil; |
| 4 | import cn.hutool.core.codec.Base64; | 4 | import cn.hutool.core.codec.Base64; |
| @@ -9,14 +9,14 @@ import cn.hutool.core.util.StrUtil; | @@ -9,14 +9,14 @@ import cn.hutool.core.util.StrUtil; | ||
| 9 | import cn.iocoder.yudao.framework.common.util.io.FileUtils; | 9 | import cn.iocoder.yudao.framework.common.util.io.FileUtils; |
| 10 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 10 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 11 | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | 11 | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; |
| 12 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 13 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 14 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 15 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 16 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 17 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 18 | -import cn.iocoder.yudao.framework.pay.core.client.impl.AbstractPayClient; | ||
| 19 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum; | 12 | +import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 14 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 15 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 16 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 17 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 18 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 19 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.AbstractPayClient; | ||
| 20 | import com.github.binarywang.wxpay.bean.notify.*; | 20 | import com.github.binarywang.wxpay.bean.notify.*; |
| 21 | import com.github.binarywang.wxpay.bean.request.*; | 21 | import com.github.binarywang.wxpay.bean.request.*; |
| 22 | import com.github.binarywang.wxpay.bean.result.*; | 22 | import com.github.binarywang.wxpay.bean.result.*; |
| @@ -36,8 +36,8 @@ import java.util.Map; | @@ -36,8 +36,8 @@ import java.util.Map; | ||
| 36 | import java.util.Objects; | 36 | import java.util.Objects; |
| 37 | 37 | ||
| 38 | import static cn.hutool.core.date.DatePattern.*; | 38 | import static cn.hutool.core.date.DatePattern.*; |
| 39 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig.API_VERSION_V2; | ||
| 40 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig.API_VERSION_V3; | 39 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig.API_VERSION_V2; |
| 40 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig.API_VERSION_V3; | ||
| 41 | 41 | ||
| 42 | /** | 42 | /** |
| 43 | * 微信支付抽象类,实现微信统一的接口、以及部分实现(退款) | 43 | * 微信支付抽象类,实现微信统一的接口、以及部分实现(退款) |
| @@ -173,7 +173,7 @@ public abstract class AbstractWxPayClient extends AbstractPayClient<WxPayClientC | @@ -173,7 +173,7 @@ public abstract class AbstractWxPayClient extends AbstractPayClient<WxPayClientC | ||
| 173 | // 2. 构建结果 | 173 | // 2. 构建结果 |
| 174 | // V2 微信支付的回调,只有 SUCCESS 支付成功、CLOSED 支付失败两种情况,无需像支付宝一样解析的比较复杂 | 174 | // V2 微信支付的回调,只有 SUCCESS 支付成功、CLOSED 支付失败两种情况,无需像支付宝一样解析的比较复杂 |
| 175 | Integer status = Objects.equals(response.getResultCode(), "SUCCESS") ? | 175 | Integer status = Objects.equals(response.getResultCode(), "SUCCESS") ? |
| 176 | - PayOrderStatusRespEnum.SUCCESS.getStatus() : PayOrderStatusRespEnum.CLOSED.getStatus(); | 176 | + PayOrderStatusEnum.SUCCESS.getStatus() : PayOrderStatusEnum.CLOSED.getStatus(); |
| 177 | return PayOrderRespDTO.of(status, response.getTransactionId(), response.getOpenid(), parseDateV2(response.getTimeEnd()), | 177 | return PayOrderRespDTO.of(status, response.getTransactionId(), response.getOpenid(), parseDateV2(response.getTimeEnd()), |
| 178 | response.getOutTradeNo(), body); | 178 | response.getOutTradeNo(), body); |
| 179 | } | 179 | } |
| @@ -244,15 +244,15 @@ public abstract class AbstractWxPayClient extends AbstractPayClient<WxPayClientC | @@ -244,15 +244,15 @@ public abstract class AbstractWxPayClient extends AbstractPayClient<WxPayClientC | ||
| 244 | switch (tradeState) { | 244 | switch (tradeState) { |
| 245 | case "NOTPAY": | 245 | case "NOTPAY": |
| 246 | case "USERPAYING": // 支付中,等待用户输入密码(条码支付独有) | 246 | case "USERPAYING": // 支付中,等待用户输入密码(条码支付独有) |
| 247 | - return PayOrderStatusRespEnum.WAITING.getStatus(); | 247 | + return PayOrderStatusEnum.WAITING.getStatus(); |
| 248 | case "SUCCESS": | 248 | case "SUCCESS": |
| 249 | - return PayOrderStatusRespEnum.SUCCESS.getStatus(); | 249 | + return PayOrderStatusEnum.SUCCESS.getStatus(); |
| 250 | case "REFUND": | 250 | case "REFUND": |
| 251 | - return PayOrderStatusRespEnum.REFUND.getStatus(); | 251 | + return PayOrderStatusEnum.REFUND.getStatus(); |
| 252 | case "CLOSED": | 252 | case "CLOSED": |
| 253 | case "REVOKED": // 已撤销(刷卡支付独有) | 253 | case "REVOKED": // 已撤销(刷卡支付独有) |
| 254 | case "PAYERROR": // 支付失败(其它原因,如银行返回失败) | 254 | case "PAYERROR": // 支付失败(其它原因,如银行返回失败) |
| 255 | - return PayOrderStatusRespEnum.CLOSED.getStatus(); | 255 | + return PayOrderStatusEnum.CLOSED.getStatus(); |
| 256 | default: | 256 | default: |
| 257 | throw new IllegalArgumentException(StrUtil.format("未知的支付状态({})", tradeState)); | 257 | throw new IllegalArgumentException(StrUtil.format("未知的支付状态({})", tradeState)); |
| 258 | } | 258 | } |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxAppPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxAppPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 7 | import com.github.binarywang.wxpay.bean.order.WxPayAppOrderResult; | 7 | import com.github.binarywang.wxpay.bean.order.WxPayAppOrderResult; |
| 8 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; | 8 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; |
| 9 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; | 9 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxBarPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxBarPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.map.MapUtil; | 3 | import cn.hutool.core.map.MapUtil; |
| 4 | import cn.hutool.core.thread.ThreadUtil; | 4 | import cn.hutool.core.thread.ThreadUtil; |
| 5 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | 6 | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; |
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 7 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 11 | import com.github.binarywang.wxpay.bean.request.WxPayMicropayRequest; | 11 | import com.github.binarywang.wxpay.bean.request.WxPayMicropayRequest; |
| 12 | import com.github.binarywang.wxpay.bean.result.WxPayMicropayResult; | 12 | import com.github.binarywang.wxpay.bean.result.WxPayMicropayResult; |
| 13 | import com.github.binarywang.wxpay.constant.WxPayConstants; | 13 | import com.github.binarywang.wxpay.constant.WxPayConstants; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxLitePayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxLitePayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 4 | import lombok.extern.slf4j.Slf4j; | 4 | import lombok.extern.slf4j.Slf4j; |
| 5 | 5 | ||
| 6 | /** | 6 | /** |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxNativePayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxNativePayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 7 | import com.github.binarywang.wxpay.bean.order.WxPayNativeOrderResult; | 7 | import com.github.binarywang.wxpay.bean.order.WxPayNativeOrderResult; |
| 8 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; | 8 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; |
| 9 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; | 9 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxPayClientConfig.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxPayClientConfig.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; | 3 | import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientConfig; |
| 5 | import jakarta.validation.Validator; | 5 | import jakarta.validation.Validator; |
| 6 | import jakarta.validation.constraints.NotBlank; | 6 | import jakarta.validation.constraints.NotBlank; |
| 7 | import lombok.Data; | 7 | import lombok.Data; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxPubPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxPubPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.map.MapUtil; | 3 | import cn.hutool.core.map.MapUtil; |
| 4 | import cn.hutool.core.util.StrUtil; | 4 | import cn.hutool.core.util.StrUtil; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 5 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 8 | import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult; | 9 | import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult; |
| 9 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; | 10 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; |
| 10 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; | 11 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; |
| @@ -27,6 +28,11 @@ import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString | @@ -27,6 +28,11 @@ import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString | ||
| 27 | @Slf4j | 28 | @Slf4j |
| 28 | public class WxPubPayClient extends AbstractWxPayClient { | 29 | public class WxPubPayClient extends AbstractWxPayClient { |
| 29 | 30 | ||
| 31 | + @SuppressWarnings("unused") // 反射会调用到,所以不能删除 | ||
| 32 | + public WxPubPayClient(Long channelId, WxPayClientConfig config) { | ||
| 33 | + super(channelId, PayChannelEnum.WX_PUB.getCode(), config); | ||
| 34 | + } | ||
| 35 | + | ||
| 30 | protected WxPubPayClient(Long channelId, String channelCode, WxPayClientConfig config) { | 36 | protected WxPubPayClient(Long channelId, String channelCode, WxPayClientConfig config) { |
| 31 | super(channelId, channelCode, config); | 37 | super(channelId, channelCode, config); |
| 32 | } | 38 | } |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxWapPayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxWapPayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 7 | import com.github.binarywang.wxpay.bean.order.WxPayMwebOrderResult; | 7 | import com.github.binarywang.wxpay.bean.order.WxPayMwebOrderResult; |
| 8 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; | 8 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; |
| 9 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; | 9 | import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/order/PayOrderDisplayModeEnum.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/enums/PayOrderDisplayModeEnum.java
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/package-info.java
0 → 100644
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelService.java
| 1 | package cn.iocoder.yudao.module.pay.service.channel; | 1 | package cn.iocoder.yudao.module.pay.service.channel; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.exception.ServiceException; | 3 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; |
| 5 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelCreateReqVO; | 5 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelCreateReqVO; |
| 6 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelUpdateReqVO; | 6 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelUpdateReqVO; |
| 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelServiceImpl.java
| @@ -4,17 +4,18 @@ import cn.hutool.core.lang.Assert; | @@ -4,17 +4,18 @@ import cn.hutool.core.lang.Assert; | ||
| 4 | import cn.hutool.core.util.ObjectUtil; | 4 | import cn.hutool.core.util.ObjectUtil; |
| 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 6 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 6 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 7 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientConfig; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientFactory; | ||
| 11 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelCreateReqVO; | 11 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelCreateReqVO; |
| 12 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelUpdateReqVO; | 12 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelUpdateReqVO; |
| 13 | import cn.iocoder.yudao.module.pay.convert.channel.PayChannelConvert; | 13 | import cn.iocoder.yudao.module.pay.convert.channel.PayChannelConvert; |
| 14 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 14 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 15 | import cn.iocoder.yudao.module.pay.dal.mysql.channel.PayChannelMapper; | 15 | import cn.iocoder.yudao.module.pay.dal.mysql.channel.PayChannelMapper; |
| 16 | -import cn.iocoder.yudao.module.pay.framework.pay.core.WalletPayClient; | ||
| 17 | -import jakarta.annotation.PostConstruct; | 16 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.NonePayClientConfig; |
| 17 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; | ||
| 18 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig; | ||
| 18 | import jakarta.annotation.Resource; | 19 | import jakarta.annotation.Resource; |
| 19 | import jakarta.validation.Validator; | 20 | import jakarta.validation.Validator; |
| 20 | import lombok.extern.slf4j.Slf4j; | 21 | import lombok.extern.slf4j.Slf4j; |
| @@ -46,14 +47,6 @@ public class PayChannelServiceImpl implements PayChannelService { | @@ -46,14 +47,6 @@ public class PayChannelServiceImpl implements PayChannelService { | ||
| 46 | @Resource | 47 | @Resource |
| 47 | private Validator validator; | 48 | private Validator validator; |
| 48 | 49 | ||
| 49 | - /** | ||
| 50 | - * 初始化,为了注册钱包 | ||
| 51 | - */ | ||
| 52 | - @PostConstruct | ||
| 53 | - public void init() { | ||
| 54 | - payClientFactory.registerPayClientClass(PayChannelEnum.WALLET, WalletPayClient.class); | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | @Override | 50 | @Override |
| 58 | public Long createChannel(PayChannelCreateReqVO reqVO) { | 51 | public Long createChannel(PayChannelCreateReqVO reqVO) { |
| 59 | // 断言是否有重复的 | 52 | // 断言是否有重复的 |
| @@ -89,7 +82,9 @@ public class PayChannelServiceImpl implements PayChannelService { | @@ -89,7 +82,9 @@ public class PayChannelServiceImpl implements PayChannelService { | ||
| 89 | */ | 82 | */ |
| 90 | private PayClientConfig parseConfig(String code, String configStr) { | 83 | private PayClientConfig parseConfig(String code, String configStr) { |
| 91 | // 解析配置 | 84 | // 解析配置 |
| 92 | - Class<? extends PayClientConfig> payClass = PayChannelEnum.getByCode(code).getConfigClass(); | 85 | + Class<? extends PayClientConfig> payClass = PayChannelEnum.isAlipay(configStr) ? AlipayPayClientConfig.class |
| 86 | + : PayChannelEnum.isWeixin(configStr) ? WxPayClientConfig.class | ||
| 87 | + : NonePayClientConfig.class; | ||
| 93 | if (ObjectUtil.isNull(payClass)) { | 88 | if (ObjectUtil.isNull(payClass)) { |
| 94 | throw exception(CHANNEL_NOT_FOUND); | 89 | throw exception(CHANNEL_NOT_FOUND); |
| 95 | } | 90 | } |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderService.java
| 1 | package cn.iocoder.yudao.module.pay.service.order; | 1 | package cn.iocoder.yudao.module.pay.service.order; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; |
| 5 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | 5 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; |
| 6 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExportReqVO; | 6 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExportReqVO; |
| 7 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderPageReqVO; | 7 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderPageReqVO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceImpl.java
| @@ -7,10 +7,9 @@ import cn.hutool.extra.spring.SpringUtil; | @@ -7,10 +7,9 @@ import cn.hutool.extra.spring.SpringUtil; | ||
| 7 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 7 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 8 | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | 8 | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; |
| 9 | import cn.iocoder.yudao.framework.common.util.number.MoneyUtils; | 9 | import cn.iocoder.yudao.framework.common.util.number.MoneyUtils; |
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 11 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 12 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 13 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum; | 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; |
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 14 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; | 13 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; |
| 15 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | 14 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; |
| 16 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExportReqVO; | 15 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExportReqVO; |
| @@ -218,13 +217,13 @@ public class PayOrderServiceImpl implements PayOrderService { | @@ -218,13 +217,13 @@ public class PayOrderServiceImpl implements PayOrderService { | ||
| 218 | throw exception(PAY_ORDER_EXTENSION_IS_PAID); | 217 | throw exception(PAY_ORDER_EXTENSION_IS_PAID); |
| 219 | } | 218 | } |
| 220 | // 情况二:调用三方接口,查询支付单状态,是不是已支付 | 219 | // 情况二:调用三方接口,查询支付单状态,是不是已支付 |
| 221 | - PayClient payClient = channelService.getPayClient(orderExtension.getChannelId()); | 220 | + PayClient<?> payClient = channelService.getPayClient(orderExtension.getChannelId()); |
| 222 | if (payClient == null) { | 221 | if (payClient == null) { |
| 223 | log.error("[validateOrderCanSubmit][渠道编号({}) 找不到对应的支付客户端]", orderExtension.getChannelId()); | 222 | log.error("[validateOrderCanSubmit][渠道编号({}) 找不到对应的支付客户端]", orderExtension.getChannelId()); |
| 224 | return; | 223 | return; |
| 225 | } | 224 | } |
| 226 | PayOrderRespDTO respDTO = payClient.getOrder(orderExtension.getNo()); | 225 | PayOrderRespDTO respDTO = payClient.getOrder(orderExtension.getNo()); |
| 227 | - if (respDTO != null && PayOrderStatusRespEnum.isSuccess(respDTO.getStatus())) { | 226 | + if (respDTO != null && PayOrderStatusEnum.isSuccess(respDTO.getStatus())) { |
| 228 | log.warn("[validateOrderCanSubmit][order({}) 的 PayOrderRespDTO({}) 已支付,可能是回调延迟]", | 227 | log.warn("[validateOrderCanSubmit][order({}) 的 PayOrderRespDTO({}) 已支付,可能是回调延迟]", |
| 229 | id, toJsonString(respDTO)); | 228 | id, toJsonString(respDTO)); |
| 230 | throw exception(PAY_ORDER_EXTENSION_IS_PAID); | 229 | throw exception(PAY_ORDER_EXTENSION_IS_PAID); |
| @@ -273,12 +272,12 @@ public class PayOrderServiceImpl implements PayOrderService { | @@ -273,12 +272,12 @@ public class PayOrderServiceImpl implements PayOrderService { | ||
| 273 | // 注意,如果是方法内调用该方法,需要通过 getSelf().notifyPayOrder(channel, notify) 调用,否则事务不生效 | 272 | // 注意,如果是方法内调用该方法,需要通过 getSelf().notifyPayOrder(channel, notify) 调用,否则事务不生效 |
| 274 | public void notifyOrder(PayChannelDO channel, PayOrderRespDTO notify) { | 273 | public void notifyOrder(PayChannelDO channel, PayOrderRespDTO notify) { |
| 275 | // 情况一:支付成功的回调 | 274 | // 情况一:支付成功的回调 |
| 276 | - if (PayOrderStatusRespEnum.isSuccess(notify.getStatus())) { | 275 | + if (PayOrderStatusEnum.isSuccess(notify.getStatus())) { |
| 277 | notifyOrderSuccess(channel, notify); | 276 | notifyOrderSuccess(channel, notify); |
| 278 | return; | 277 | return; |
| 279 | } | 278 | } |
| 280 | // 情况二:支付失败的回调 | 279 | // 情况二:支付失败的回调 |
| 281 | - if (PayOrderStatusRespEnum.isClosed(notify.getStatus())) { | 280 | + if (PayOrderStatusEnum.isClosed(notify.getStatus())) { |
| 282 | notifyOrderClosed(channel, notify); | 281 | notifyOrderClosed(channel, notify); |
| 283 | } | 282 | } |
| 284 | // 情况三:WAITING:无需处理 | 283 | // 情况三:WAITING:无需处理 |
| @@ -373,6 +372,7 @@ public class PayOrderServiceImpl implements PayOrderService { | @@ -373,6 +372,7 @@ public class PayOrderServiceImpl implements PayOrderService { | ||
| 373 | updateOrderExtensionClosed(channel, notify); | 372 | updateOrderExtensionClosed(channel, notify); |
| 374 | } | 373 | } |
| 375 | 374 | ||
| 375 | + @SuppressWarnings("unused") | ||
| 376 | private void updateOrderExtensionClosed(PayChannelDO channel, PayOrderRespDTO notify) { | 376 | private void updateOrderExtensionClosed(PayChannelDO channel, PayOrderRespDTO notify) { |
| 377 | // 1. 查询 PayOrderExtensionDO | 377 | // 1. 查询 PayOrderExtensionDO |
| 378 | PayOrderExtensionDO orderExtension = orderExtensionMapper.selectByNo(notify.getOutTradeNo()); | 378 | PayOrderExtensionDO orderExtension = orderExtensionMapper.selectByNo(notify.getOutTradeNo()); |
| @@ -488,7 +488,7 @@ public class PayOrderServiceImpl implements PayOrderService { | @@ -488,7 +488,7 @@ public class PayOrderServiceImpl implements PayOrderService { | ||
| 488 | private boolean syncOrder(PayOrderExtensionDO orderExtension) { | 488 | private boolean syncOrder(PayOrderExtensionDO orderExtension) { |
| 489 | try { | 489 | try { |
| 490 | // 1.1 查询支付订单信息 | 490 | // 1.1 查询支付订单信息 |
| 491 | - PayClient payClient = channelService.getPayClient(orderExtension.getChannelId()); | 491 | + PayClient<?> payClient = channelService.getPayClient(orderExtension.getChannelId()); |
| 492 | if (payClient == null) { | 492 | if (payClient == null) { |
| 493 | log.error("[syncOrder][渠道编号({}) 找不到对应的支付客户端]", orderExtension.getChannelId()); | 493 | log.error("[syncOrder][渠道编号({}) 找不到对应的支付客户端]", orderExtension.getChannelId()); |
| 494 | return false; | 494 | return false; |
| @@ -499,14 +499,14 @@ public class PayOrderServiceImpl implements PayOrderService { | @@ -499,14 +499,14 @@ public class PayOrderServiceImpl implements PayOrderService { | ||
| 499 | // 当用户支付成功之后,该订单状态在渠道的回调中无法从已关闭改为已支付,造成重大影响。 | 499 | // 当用户支付成功之后,该订单状态在渠道的回调中无法从已关闭改为已支付,造成重大影响。 |
| 500 | // 考虑此定时任务是异常场景的兜底操作,因此这里不做变更,优先以回调为准。 | 500 | // 考虑此定时任务是异常场景的兜底操作,因此这里不做变更,优先以回调为准。 |
| 501 | // 让订单自动随着支付渠道那边一起等到过期,确保渠道先过期关闭支付入口,而后通过订单过期定时任务关闭自己的订单。 | 501 | // 让订单自动随着支付渠道那边一起等到过期,确保渠道先过期关闭支付入口,而后通过订单过期定时任务关闭自己的订单。 |
| 502 | - if (PayOrderStatusRespEnum.isClosed(respDTO.getStatus())) { | 502 | + if (PayOrderStatusEnum.isClosed(respDTO.getStatus())) { |
| 503 | return false; | 503 | return false; |
| 504 | } | 504 | } |
| 505 | // 1.2 回调支付结果 | 505 | // 1.2 回调支付结果 |
| 506 | notifyOrder(orderExtension.getChannelId(), respDTO); | 506 | notifyOrder(orderExtension.getChannelId(), respDTO); |
| 507 | 507 | ||
| 508 | // 2. 如果是已支付,则返回 true | 508 | // 2. 如果是已支付,则返回 true |
| 509 | - return PayOrderStatusRespEnum.isSuccess(respDTO.getStatus()); | 509 | + return PayOrderStatusEnum.isSuccess(respDTO.getStatus()); |
| 510 | } catch (Throwable e) { | 510 | } catch (Throwable e) { |
| 511 | log.error("[syncOrder][orderExtension({}) 同步支付状态异常]", orderExtension.getId(), e); | 511 | log.error("[syncOrder][orderExtension({}) 同步支付状态异常]", orderExtension.getId(), e); |
| 512 | return false; | 512 | return false; |
| @@ -551,20 +551,20 @@ public class PayOrderServiceImpl implements PayOrderService { | @@ -551,20 +551,20 @@ public class PayOrderServiceImpl implements PayOrderService { | ||
| 551 | return false; | 551 | return false; |
| 552 | } | 552 | } |
| 553 | // 情况二:调用三方接口,查询支付单状态,是不是已支付/已退款 | 553 | // 情况二:调用三方接口,查询支付单状态,是不是已支付/已退款 |
| 554 | - PayClient payClient = channelService.getPayClient(orderExtension.getChannelId()); | 554 | + PayClient<?> payClient = channelService.getPayClient(orderExtension.getChannelId()); |
| 555 | if (payClient == null) { | 555 | if (payClient == null) { |
| 556 | log.error("[expireOrder][渠道编号({}) 找不到对应的支付客户端]", orderExtension.getChannelId()); | 556 | log.error("[expireOrder][渠道编号({}) 找不到对应的支付客户端]", orderExtension.getChannelId()); |
| 557 | return false; | 557 | return false; |
| 558 | } | 558 | } |
| 559 | PayOrderRespDTO respDTO = payClient.getOrder(orderExtension.getNo()); | 559 | PayOrderRespDTO respDTO = payClient.getOrder(orderExtension.getNo()); |
| 560 | - if (PayOrderStatusRespEnum.isRefund(respDTO.getStatus())) { | 560 | + if (PayOrderStatusEnum.isRefund(respDTO.getStatus())) { |
| 561 | // 补充说明:按道理,应该是 WAITING => SUCCESS => REFUND 状态,如果直接 WAITING => REFUND 状态,说明中间丢了过程 | 561 | // 补充说明:按道理,应该是 WAITING => SUCCESS => REFUND 状态,如果直接 WAITING => REFUND 状态,说明中间丢了过程 |
| 562 | // 此时,需要人工介入,手工补齐数据,保持 WAITING => SUCCESS => REFUND 的过程 | 562 | // 此时,需要人工介入,手工补齐数据,保持 WAITING => SUCCESS => REFUND 的过程 |
| 563 | log.error("[expireOrder][extension({}) 的 PayOrderRespDTO({}) 已退款,可能是回调延迟]", | 563 | log.error("[expireOrder][extension({}) 的 PayOrderRespDTO({}) 已退款,可能是回调延迟]", |
| 564 | orderExtension.getId(), toJsonString(respDTO)); | 564 | orderExtension.getId(), toJsonString(respDTO)); |
| 565 | return false; | 565 | return false; |
| 566 | } | 566 | } |
| 567 | - if (PayOrderStatusRespEnum.isSuccess(respDTO.getStatus())) { | 567 | + if (PayOrderStatusEnum.isSuccess(respDTO.getStatus())) { |
| 568 | notifyOrder(orderExtension.getChannelId(), respDTO); | 568 | notifyOrder(orderExtension.getChannelId(), respDTO); |
| 569 | return false; | 569 | return false; |
| 570 | } | 570 | } |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundService.java
| 1 | package cn.iocoder.yudao.module.pay.service.refund; | 1 | package cn.iocoder.yudao.module.pay.service.refund; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; |
| 5 | import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO; | 5 | import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO; |
| 6 | import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundExportReqVO; | 6 | import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundExportReqVO; |
| 7 | import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundPageReqVO; | 7 | import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundPageReqVO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceImpl.java
| @@ -3,10 +3,9 @@ package cn.iocoder.yudao.module.pay.service.refund; | @@ -3,10 +3,9 @@ package cn.iocoder.yudao.module.pay.service.refund; | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.extra.spring.SpringUtil; | 4 | import cn.hutool.extra.spring.SpringUtil; |
| 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.refund.PayRefundStatusRespEnum; | 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; |
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 10 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; | 9 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; |
| 11 | import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO; | 10 | import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO; |
| 12 | import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundExportReqVO; | 11 | import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundExportReqVO; |
| @@ -203,12 +202,12 @@ public class PayRefundServiceImpl implements PayRefundService { | @@ -203,12 +202,12 @@ public class PayRefundServiceImpl implements PayRefundService { | ||
| 203 | @Transactional(rollbackFor = Exception.class) | 202 | @Transactional(rollbackFor = Exception.class) |
| 204 | public void notifyRefund(PayChannelDO channel, PayRefundRespDTO notify) { | 203 | public void notifyRefund(PayChannelDO channel, PayRefundRespDTO notify) { |
| 205 | // 情况一:退款成功 | 204 | // 情况一:退款成功 |
| 206 | - if (PayRefundStatusRespEnum.isSuccess(notify.getStatus())) { | 205 | + if (PayRefundStatusEnum.isSuccess(notify.getStatus())) { |
| 207 | notifyRefundSuccess(channel, notify); | 206 | notifyRefundSuccess(channel, notify); |
| 208 | return; | 207 | return; |
| 209 | } | 208 | } |
| 210 | // 情况二:退款失败 | 209 | // 情况二:退款失败 |
| 211 | - if (PayRefundStatusRespEnum.isFailure(notify.getStatus())) { | 210 | + if (PayRefundStatusEnum.isFailure(notify.getStatus())) { |
| 212 | notifyRefundFailure(channel, notify); | 211 | notifyRefundFailure(channel, notify); |
| 213 | } | 212 | } |
| 214 | } | 213 | } |
| @@ -302,7 +301,7 @@ public class PayRefundServiceImpl implements PayRefundService { | @@ -302,7 +301,7 @@ public class PayRefundServiceImpl implements PayRefundService { | ||
| 302 | private boolean syncRefund(PayRefundDO refund) { | 301 | private boolean syncRefund(PayRefundDO refund) { |
| 303 | try { | 302 | try { |
| 304 | // 1.1 查询退款订单信息 | 303 | // 1.1 查询退款订单信息 |
| 305 | - PayClient payClient = channelService.getPayClient(refund.getChannelId()); | 304 | + PayClient<?> payClient = channelService.getPayClient(refund.getChannelId()); |
| 306 | if (payClient == null) { | 305 | if (payClient == null) { |
| 307 | log.error("[syncRefund][渠道编号({}) 找不到对应的支付客户端]", refund.getChannelId()); | 306 | log.error("[syncRefund][渠道编号({}) 找不到对应的支付客户端]", refund.getChannelId()); |
| 308 | return false; | 307 | return false; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/transfer/PayTransferService.java
| 1 | package cn.iocoder.yudao.module.pay.service.transfer; | 1 | package cn.iocoder.yudao.module.pay.service.transfer; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; |
| 5 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; | 5 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; |
| 6 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; | 6 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; |
| 7 | import cn.iocoder.yudao.module.pay.controller.admin.transfer.vo.PayTransferPageReqVO; | 7 | import cn.iocoder.yudao.module.pay.controller.admin.transfer.vo.PayTransferPageReqVO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/transfer/PayTransferServiceImpl.java
| @@ -6,10 +6,9 @@ import cn.hutool.extra.spring.SpringUtil; | @@ -6,10 +6,9 @@ import cn.hutool.extra.spring.SpringUtil; | ||
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 7 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 8 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 8 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 11 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 12 | -import cn.iocoder.yudao.framework.pay.core.enums.transfer.PayTransferStatusRespEnum; | 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; |
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 13 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; | 12 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; |
| 14 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; | 13 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; |
| 15 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; | 14 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; |
| @@ -142,15 +141,15 @@ public class PayTransferServiceImpl implements PayTransferService { | @@ -142,15 +141,15 @@ public class PayTransferServiceImpl implements PayTransferService { | ||
| 142 | // 注意,如果是方法内调用该方法,需要通过 getSelf().notifyTransfer(channel, notify) 调用,否则事务不生效 | 141 | // 注意,如果是方法内调用该方法,需要通过 getSelf().notifyTransfer(channel, notify) 调用,否则事务不生效 |
| 143 | public void notifyTransfer(PayChannelDO channel, PayTransferRespDTO notify) { | 142 | public void notifyTransfer(PayChannelDO channel, PayTransferRespDTO notify) { |
| 144 | // 转账成功的回调 | 143 | // 转账成功的回调 |
| 145 | - if (PayTransferStatusRespEnum.isSuccess(notify.getStatus())) { | 144 | + if (PayTransferStatusEnum.isSuccess(notify.getStatus())) { |
| 146 | notifyTransferSuccess(channel, notify); | 145 | notifyTransferSuccess(channel, notify); |
| 147 | } | 146 | } |
| 148 | // 转账关闭的回调 | 147 | // 转账关闭的回调 |
| 149 | - if (PayTransferStatusRespEnum.isClosed(notify.getStatus())) { | 148 | + if (PayTransferStatusEnum.isClosed(notify.getStatus())) { |
| 150 | notifyTransferClosed(channel, notify); | 149 | notifyTransferClosed(channel, notify); |
| 151 | } | 150 | } |
| 152 | // 转账处理中的回调 | 151 | // 转账处理中的回调 |
| 153 | - if (PayTransferStatusRespEnum.isProcessing(notify.getStatus())) { | 152 | + if (PayTransferStatusEnum.isProcessing(notify.getStatus())) { |
| 154 | notifyTransferProgressing(channel, notify); | 153 | notifyTransferProgressing(channel, notify); |
| 155 | } | 154 | } |
| 156 | // WAITING 状态无需处理 | 155 | // WAITING 状态无需处理 |
| @@ -162,7 +161,7 @@ public class PayTransferServiceImpl implements PayTransferService { | @@ -162,7 +161,7 @@ public class PayTransferServiceImpl implements PayTransferService { | ||
| 162 | if (transfer == null) { | 161 | if (transfer == null) { |
| 163 | throw exception(PAY_TRANSFER_NOT_FOUND); | 162 | throw exception(PAY_TRANSFER_NOT_FOUND); |
| 164 | } | 163 | } |
| 165 | - if (PayTransferStatusEnum.isProgressing(transfer.getStatus())) { // 如果已经是转账中,直接返回,不用重复更新 | 164 | + if (PayTransferStatusEnum.isProcessing(transfer.getStatus())) { // 如果已经是转账中,直接返回,不用重复更新 |
| 166 | log.info("[notifyTransferProgressing][transfer({}) 已经是转账中状态,无需更新]", transfer.getId()); | 165 | log.info("[notifyTransferProgressing][transfer({}) 已经是转账中状态,无需更新]", transfer.getId()); |
| 167 | return; | 166 | return; |
| 168 | } | 167 | } |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
| @@ -6,7 +6,6 @@ import cn.hutool.core.util.ObjectUtil; | @@ -6,7 +6,6 @@ import cn.hutool.core.util.ObjectUtil; | ||
| 6 | import cn.hutool.extra.spring.SpringUtil; | 6 | import cn.hutool.extra.spring.SpringUtil; |
| 7 | import cn.iocoder.yudao.framework.common.pojo.PageParam; | 7 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.refund.PayRefundStatusRespEnum; | ||
| 10 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | 9 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; |
| 11 | import cn.iocoder.yudao.module.pay.api.refund.PayRefundApi; | 10 | import cn.iocoder.yudao.module.pay.api.refund.PayRefundApi; |
| 12 | import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO; | 11 | import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO; |
| @@ -224,7 +223,7 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { | @@ -224,7 +223,7 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { | ||
| 224 | .setRefundTotalPrice(walletRecharge.getTotalPrice()).setRefundPayPrice(walletRecharge.getPayPrice()) | 223 | .setRefundTotalPrice(walletRecharge.getTotalPrice()).setRefundPayPrice(walletRecharge.getPayPrice()) |
| 225 | .setRefundBonusPrice(walletRecharge.getBonusPrice()); | 224 | .setRefundBonusPrice(walletRecharge.getBonusPrice()); |
| 226 | // 情况二:退款失败 | 225 | // 情况二:退款失败 |
| 227 | - } else if (PayRefundStatusRespEnum.isFailure(payRefund.getStatus())) { | 226 | + } else if (PayRefundStatusEnum.isFailure(payRefund.getStatus())) { |
| 228 | // 2.2 解冻余额 | 227 | // 2.2 解冻余额 |
| 229 | payWalletService.unfreezePrice(walletRecharge.getWalletId(), walletRecharge.getTotalPrice()); | 228 | payWalletService.unfreezePrice(walletRecharge.getWalletId(), walletRecharge.getTotalPrice()); |
| 230 | 229 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/PayClientFactoryImplIntegrationTest.java renamed to yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/PayClientFactoryImplIntegrationTest.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.io.IoUtil; | 3 | import cn.hutool.core.io.IoUtil; |
| 4 | import cn.hutool.core.util.RandomUtil; | 4 | import cn.hutool.core.util.RandomUtil; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayQrPayClient; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayWapPayClient; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig; | ||
| 11 | -import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPubPayClient; | ||
| 12 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 5 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.PayClientFactoryImpl; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayQrPayClient; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayWapPayClient; | ||
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig; | ||
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPubPayClient; | ||
| 13 | import org.junit.jupiter.api.Disabled; | 14 | import org.junit.jupiter.api.Disabled; |
| 14 | import org.junit.jupiter.api.Test; | 15 | import org.junit.jupiter.api.Test; |
| 15 | 16 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AbstractAlipayClientTest.java renamed to yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AbstractAlipayClientTest.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.date.LocalDateTimeUtil; | 3 | import cn.hutool.core.date.LocalDateTimeUtil; |
| 4 | import cn.hutool.core.util.RandomUtil; | 4 | import cn.hutool.core.util.RandomUtil; |
| 5 | import cn.iocoder.yudao.framework.common.exception.ServiceException; | 5 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 6 | import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; | 6 | import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; |
| 7 | import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; | 7 | import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; |
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 11 | -import cn.iocoder.yudao.framework.pay.core.client.exception.PayException; | ||
| 12 | -import cn.iocoder.yudao.framework.pay.core.enums.refund.PayRefundStatusRespEnum; | ||
| 13 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; | 8 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| 9 | +import cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.exception.PayClientException; | ||
| 14 | import com.alipay.api.AlipayApiException; | 14 | import com.alipay.api.AlipayApiException; |
| 15 | import com.alipay.api.DefaultAlipayClient; | 15 | import com.alipay.api.DefaultAlipayClient; |
| 16 | import com.alipay.api.DefaultSigner; | 16 | import com.alipay.api.DefaultSigner; |
| @@ -27,8 +27,8 @@ import org.mockito.Mock; | @@ -27,8 +27,8 @@ import org.mockito.Mock; | ||
| 27 | import jakarta.validation.ConstraintViolationException; | 27 | import jakarta.validation.ConstraintViolationException; |
| 28 | import java.util.Date; | 28 | import java.util.Date; |
| 29 | 29 | ||
| 30 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_PUBLIC_KEY; | ||
| 31 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | 30 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; |
| 31 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_PUBLIC_KEY; | ||
| 32 | import static org.junit.jupiter.api.Assertions.*; | 32 | import static org.junit.jupiter.api.Assertions.*; |
| 33 | import static org.mockito.ArgumentMatchers.argThat; | 33 | import static org.mockito.ArgumentMatchers.argThat; |
| 34 | import static org.mockito.Mockito.when; | 34 | import static org.mockito.Mockito.when; |
| @@ -106,7 +106,7 @@ public abstract class AbstractAlipayClientTest extends BaseMockitoUnitTest { | @@ -106,7 +106,7 @@ public abstract class AbstractAlipayClientTest extends BaseMockitoUnitTest { | ||
| 106 | // 调用 | 106 | // 调用 |
| 107 | PayRefundRespDTO resp = client.unifiedRefund(refundReqDTO); | 107 | PayRefundRespDTO resp = client.unifiedRefund(refundReqDTO); |
| 108 | // 断言 | 108 | // 断言 |
| 109 | - assertEquals(PayRefundStatusRespEnum.SUCCESS.getStatus(), resp.getStatus()); | 109 | + assertEquals(PayRefundStatusEnum.SUCCESS.getStatus(), resp.getStatus()); |
| 110 | assertEquals(outRefundNo, resp.getOutRefundNo()); | 110 | assertEquals(outRefundNo, resp.getOutRefundNo()); |
| 111 | assertNull(resp.getChannelRefundNo()); | 111 | assertNull(resp.getChannelRefundNo()); |
| 112 | assertEquals(LocalDateTimeUtil.of(refundTime), resp.getSuccessTime()); | 112 | assertEquals(LocalDateTimeUtil.of(refundTime), resp.getSuccessTime()); |
| @@ -142,7 +142,7 @@ public abstract class AbstractAlipayClientTest extends BaseMockitoUnitTest { | @@ -142,7 +142,7 @@ public abstract class AbstractAlipayClientTest extends BaseMockitoUnitTest { | ||
| 142 | // 调用 | 142 | // 调用 |
| 143 | PayRefundRespDTO resp = client.unifiedRefund(refundReqDTO); | 143 | PayRefundRespDTO resp = client.unifiedRefund(refundReqDTO); |
| 144 | // 断言 | 144 | // 断言 |
| 145 | - assertEquals(PayRefundStatusRespEnum.FAILURE.getStatus(), resp.getStatus()); | 145 | + assertEquals(PayRefundStatusEnum.FAILURE.getStatus(), resp.getStatus()); |
| 146 | assertEquals(outRefundNo, resp.getOutRefundNo()); | 146 | assertEquals(outRefundNo, resp.getOutRefundNo()); |
| 147 | assertNull(resp.getChannelRefundNo()); | 147 | assertNull(resp.getChannelRefundNo()); |
| 148 | assertNull(resp.getSuccessTime()); | 148 | assertNull(resp.getSuccessTime()); |
| @@ -190,7 +190,7 @@ public abstract class AbstractAlipayClientTest extends BaseMockitoUnitTest { | @@ -190,7 +190,7 @@ public abstract class AbstractAlipayClientTest extends BaseMockitoUnitTest { | ||
| 190 | PayRefundUnifiedReqDTO refundReqDTO = randomPojo(PayRefundUnifiedReqDTO.class, o -> o.setNotifyUrl(notifyUrl)); | 190 | PayRefundUnifiedReqDTO refundReqDTO = randomPojo(PayRefundUnifiedReqDTO.class, o -> o.setNotifyUrl(notifyUrl)); |
| 191 | 191 | ||
| 192 | // 调用,并断言 | 192 | // 调用,并断言 |
| 193 | - assertThrows(PayException.class, () -> client.unifiedRefund(refundReqDTO)); | 193 | + assertThrows(PayClientException.class, () -> client.unifiedRefund(refundReqDTO)); |
| 194 | } | 194 | } |
| 195 | 195 | ||
| 196 | @Test | 196 | @Test |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayBarPayClientTest.java renamed to yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayBarPayClientTest.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.date.LocalDateTimeUtil; | 3 | import cn.hutool.core.date.LocalDateTimeUtil; |
| 4 | import cn.iocoder.yudao.framework.common.exception.ServiceException; | 4 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum; | 5 | +import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 9 | import com.alipay.api.AlipayApiException; | 9 | import com.alipay.api.AlipayApiException; |
| 10 | import com.alipay.api.domain.AlipayTradePayModel; | 10 | import com.alipay.api.domain.AlipayTradePayModel; |
| 11 | import com.alipay.api.request.AlipayTradePayRequest; | 11 | import com.alipay.api.request.AlipayTradePayRequest; |
| @@ -20,8 +20,8 @@ import java.util.Date; | @@ -20,8 +20,8 @@ import java.util.Date; | ||
| 20 | import java.util.HashMap; | 20 | import java.util.HashMap; |
| 21 | import java.util.Map; | 21 | import java.util.Map; |
| 22 | 22 | ||
| 23 | -import static cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum.CLOSED; | ||
| 24 | -import static cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum.WAITING; | 23 | +import static cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum.CLOSED; |
| 24 | +import static cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum.WAITING; | ||
| 25 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | 25 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; |
| 26 | import static org.junit.jupiter.api.Assertions.*; | 26 | import static org.junit.jupiter.api.Assertions.*; |
| 27 | import static org.mockito.ArgumentMatchers.argThat; | 27 | import static org.mockito.ArgumentMatchers.argThat; |
| @@ -110,7 +110,7 @@ public class AlipayBarPayClientTest extends AbstractAlipayClientTest { | @@ -110,7 +110,7 @@ public class AlipayBarPayClientTest extends AbstractAlipayClientTest { | ||
| 110 | // 下单请求 | 110 | // 下单请求 |
| 111 | PayOrderRespDTO resp = client.unifiedOrder(reqDTO); | 111 | PayOrderRespDTO resp = client.unifiedOrder(reqDTO); |
| 112 | // 断言 | 112 | // 断言 |
| 113 | - assertEquals(PayOrderStatusRespEnum.SUCCESS.getStatus(), resp.getStatus()); | 113 | + assertEquals(PayOrderStatusEnum.SUCCESS.getStatus(), resp.getStatus()); |
| 114 | assertEquals(outTradeNo, resp.getOutTradeNo()); | 114 | assertEquals(outTradeNo, resp.getOutTradeNo()); |
| 115 | assertEquals(channelNo, resp.getChannelOrderNo()); | 115 | assertEquals(channelNo, resp.getChannelOrderNo()); |
| 116 | assertEquals(channelUserId, resp.getChannelUserId()); | 116 | assertEquals(channelUserId, resp.getChannelUserId()); |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPcPayClientTest.java renamed to yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayPcPayClientTest.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.hutool.http.Method; | 3 | import cn.hutool.http.Method; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; |
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 7 | import com.alipay.api.AlipayApiException; | 7 | import com.alipay.api.AlipayApiException; |
| 8 | import com.alipay.api.request.AlipayTradePagePayRequest; | 8 | import com.alipay.api.request.AlipayTradePagePayRequest; |
| 9 | import com.alipay.api.response.AlipayTradePagePayResponse; | 9 | import com.alipay.api.response.AlipayTradePagePayResponse; |
| @@ -13,8 +13,8 @@ import org.junit.jupiter.api.Test; | @@ -13,8 +13,8 @@ import org.junit.jupiter.api.Test; | ||
| 13 | import org.mockito.ArgumentMatcher; | 13 | import org.mockito.ArgumentMatcher; |
| 14 | import org.mockito.InjectMocks; | 14 | import org.mockito.InjectMocks; |
| 15 | 15 | ||
| 16 | -import static cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum.CLOSED; | ||
| 17 | -import static cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum.WAITING; | 16 | +import static cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum.CLOSED; |
| 17 | +import static cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum.WAITING; | ||
| 18 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | 18 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; |
| 19 | import static org.junit.jupiter.api.Assertions.*; | 19 | import static org.junit.jupiter.api.Assertions.*; |
| 20 | import static org.junit.jupiter.api.Assertions.assertNull; | 20 | import static org.junit.jupiter.api.Assertions.assertNull; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayQrPayClientTest.java renamed to yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayQrPayClientTest.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.exception.ServiceException; | 3 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 4 | import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; | 4 | import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; |
| 5 | import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; | 5 | import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; |
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.exception.PayException; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; |
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.exception.PayClientException; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 10 | import com.alipay.api.AlipayApiException; | 10 | import com.alipay.api.AlipayApiException; |
| 11 | import com.alipay.api.request.AlipayTradePrecreateRequest; | 11 | import com.alipay.api.request.AlipayTradePrecreateRequest; |
| 12 | import com.alipay.api.response.AlipayTradePrecreateResponse; | 12 | import com.alipay.api.response.AlipayTradePrecreateResponse; |
| @@ -16,9 +16,9 @@ import org.junit.jupiter.api.Test; | @@ -16,9 +16,9 @@ import org.junit.jupiter.api.Test; | ||
| 16 | import org.mockito.ArgumentMatcher; | 16 | import org.mockito.ArgumentMatcher; |
| 17 | import org.mockito.InjectMocks; | 17 | import org.mockito.InjectMocks; |
| 18 | 18 | ||
| 19 | -import static cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum.CLOSED; | ||
| 20 | -import static cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum.WAITING; | ||
| 21 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | 19 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; |
| 20 | +import static cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum.CLOSED; | ||
| 21 | +import static cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum.WAITING; | ||
| 22 | import static org.junit.jupiter.api.Assertions.*; | 22 | import static org.junit.jupiter.api.Assertions.*; |
| 23 | import static org.mockito.ArgumentMatchers.argThat; | 23 | import static org.mockito.ArgumentMatchers.argThat; |
| 24 | import static org.mockito.Mockito.when; | 24 | import static org.mockito.Mockito.when; |
| @@ -123,7 +123,7 @@ public class AlipayQrPayClientTest extends AbstractAlipayClientTest { | @@ -123,7 +123,7 @@ public class AlipayQrPayClientTest extends AbstractAlipayClientTest { | ||
| 123 | PayOrderUnifiedReqDTO reqDTO = buildOrderUnifiedReqDTO(notifyUrl, outTradeNo,price); | 123 | PayOrderUnifiedReqDTO reqDTO = buildOrderUnifiedReqDTO(notifyUrl, outTradeNo,price); |
| 124 | 124 | ||
| 125 | // 调用,并断言 | 125 | // 调用,并断言 |
| 126 | - assertThrows(PayException.class, () -> client.unifiedOrder(reqDTO)); | 126 | + assertThrows(PayClientException.class, () -> client.unifiedOrder(reqDTO)); |
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | @Test | 129 | @Test |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayWapPayClientTest.java renamed to yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AlipayWapPayClientTest.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay; |
| 2 | 2 | ||
| 3 | import cn.hutool.http.Method; | 3 | import cn.hutool.http.Method; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; |
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 7 | import com.alipay.api.AlipayApiException; | 7 | import com.alipay.api.AlipayApiException; |
| 8 | import com.alipay.api.domain.AlipayTradeWapPayModel; | 8 | import com.alipay.api.domain.AlipayTradeWapPayModel; |
| 9 | import com.alipay.api.request.AlipayTradeWapPayRequest; | 9 | import com.alipay.api.request.AlipayTradeWapPayRequest; |
| @@ -14,9 +14,9 @@ import org.junit.jupiter.api.Test; | @@ -14,9 +14,9 @@ import org.junit.jupiter.api.Test; | ||
| 14 | import org.mockito.ArgumentMatcher; | 14 | import org.mockito.ArgumentMatcher; |
| 15 | import org.mockito.InjectMocks; | 15 | import org.mockito.InjectMocks; |
| 16 | 16 | ||
| 17 | -import static cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum.CLOSED; | ||
| 18 | -import static cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum.WAITING; | ||
| 19 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | 17 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; |
| 18 | +import static cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum.CLOSED; | ||
| 19 | +import static cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum.WAITING; | ||
| 20 | import static org.junit.jupiter.api.Assertions.*; | 20 | import static org.junit.jupiter.api.Assertions.*; |
| 21 | import static org.junit.jupiter.api.Assertions.assertEquals; | 21 | import static org.junit.jupiter.api.Assertions.assertEquals; |
| 22 | import static org.mockito.ArgumentMatchers.argThat; | 22 | import static org.mockito.ArgumentMatchers.argThat; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxBarPayClientIntegrationTest.java renamed to yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxBarPayClientIntegrationTest.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | 3 | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; |
| 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| @@ -18,7 +18,7 @@ import org.junit.jupiter.api.Test; | @@ -18,7 +18,7 @@ import org.junit.jupiter.api.Test; | ||
| 18 | 18 | ||
| 19 | import java.time.Duration; | 19 | import java.time.Duration; |
| 20 | 20 | ||
| 21 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.weixin.AbstractWxPayClient.formatDateV2; | 21 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.AbstractWxPayClient.formatDateV2; |
| 22 | 22 | ||
| 23 | /** | 23 | /** |
| 24 | * {@link WxBarPayClient} 的集成测试,用于快速调试微信条码支付 | 24 | * {@link WxBarPayClient} 的集成测试,用于快速调试微信条码支付 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxNativePayClientIntegrationTest.java renamed to yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxNativePayClientIntegrationTest.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.impl.weixin; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | 3 | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; |
| 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| @@ -15,7 +15,8 @@ import org.junit.jupiter.api.Test; | @@ -15,7 +15,8 @@ import org.junit.jupiter.api.Test; | ||
| 15 | 15 | ||
| 16 | import java.time.Duration; | 16 | import java.time.Duration; |
| 17 | 17 | ||
| 18 | -import static cn.iocoder.yudao.framework.pay.core.client.impl.weixin.AbstractWxPayClient.formatDateV3; | 18 | +import static cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.AbstractWxPayClient.formatDateV3; |
| 19 | + | ||
| 19 | 20 | ||
| 20 | /** | 21 | /** |
| 21 | * {@link WxNativePayClient} 的集成测试,用于快速调试微信扫码支付 | 22 | * {@link WxNativePayClient} 的集成测试,用于快速调试微信扫码支付 |
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelServiceTest.java
| @@ -2,11 +2,11 @@ package cn.iocoder.yudao.module.pay.service.channel; | @@ -2,11 +2,11 @@ package cn.iocoder.yudao.module.pay.service.channel; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 5 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientFactory; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig; | ||
| 10 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | 10 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 11 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelCreateReqVO; | 11 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelCreateReqVO; |
| 12 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelUpdateReqVO; | 12 | import cn.iocoder.yudao.module.pay.controller.admin.channel.vo.PayChannelUpdateReqVO; |
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java
| @@ -2,11 +2,10 @@ package cn.iocoder.yudao.module.pay.service.order; | @@ -2,11 +2,10 @@ package cn.iocoder.yudao.module.pay.service.order; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.extra.spring.SpringUtil; | 3 | import cn.hutool.extra.spring.SpringUtil; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum; | 5 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 10 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbAndRedisUnitTest; | 9 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbAndRedisUnitTest; |
| 11 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | 10 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; |
| 12 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExportReqVO; | 11 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExportReqVO; |
| @@ -515,7 +514,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -515,7 +514,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 515 | // 准备参数 | 514 | // 准备参数 |
| 516 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 515 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 517 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 516 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 518 | - o -> o.setStatus(PayOrderStatusRespEnum.SUCCESS.getStatus())); | 517 | + o -> o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus())); |
| 519 | 518 | ||
| 520 | // 调用,并断言异常 | 519 | // 调用,并断言异常 |
| 521 | assertServiceException(() -> orderService.notifyOrder(channel, notify), | 520 | assertServiceException(() -> orderService.notifyOrder(channel, notify), |
| @@ -532,7 +531,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -532,7 +531,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 532 | // 准备参数 | 531 | // 准备参数 |
| 533 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 532 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 534 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 533 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 535 | - o -> o.setStatus(PayOrderStatusRespEnum.SUCCESS.getStatus()) | 534 | + o -> o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()) |
| 536 | .setOutTradeNo("P110")); | 535 | .setOutTradeNo("P110")); |
| 537 | 536 | ||
| 538 | // 调用,并断言异常 | 537 | // 调用,并断言异常 |
| @@ -550,7 +549,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -550,7 +549,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 550 | // 准备参数 | 549 | // 准备参数 |
| 551 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 550 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 552 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 551 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 553 | - o -> o.setStatus(PayOrderStatusRespEnum.SUCCESS.getStatus()) | 552 | + o -> o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()) |
| 554 | .setOutTradeNo("P110")); | 553 | .setOutTradeNo("P110")); |
| 555 | 554 | ||
| 556 | // 调用,并断言异常 | 555 | // 调用,并断言异常 |
| @@ -583,7 +582,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -583,7 +582,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 583 | // 准备参数 | 582 | // 准备参数 |
| 584 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 583 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 585 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 584 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 586 | - o -> o.setStatus(PayOrderStatusRespEnum.SUCCESS.getStatus()) | 585 | + o -> o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()) |
| 587 | .setOutTradeNo("P110")); | 586 | .setOutTradeNo("P110")); |
| 588 | 587 | ||
| 589 | // 调用,并断言异常 | 588 | // 调用,并断言异常 |
| @@ -611,7 +610,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -611,7 +610,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 611 | // 准备参数 | 610 | // 准备参数 |
| 612 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 611 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 613 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 612 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 614 | - o -> o.setStatus(PayOrderStatusRespEnum.SUCCESS.getStatus()) | 613 | + o -> o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()) |
| 615 | .setOutTradeNo("P110")); | 614 | .setOutTradeNo("P110")); |
| 616 | 615 | ||
| 617 | // 调用,并断言异常 | 616 | // 调用,并断言异常 |
| @@ -641,7 +640,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -641,7 +640,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 641 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L) | 640 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L) |
| 642 | .setFeeRate(10D)); | 641 | .setFeeRate(10D)); |
| 643 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 642 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 644 | - o -> o.setStatus(PayOrderStatusRespEnum.SUCCESS.getStatus()) | 643 | + o -> o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()) |
| 645 | .setOutTradeNo("P110")); | 644 | .setOutTradeNo("P110")); |
| 646 | 645 | ||
| 647 | // 调用,并断言异常 | 646 | // 调用,并断言异常 |
| @@ -669,7 +668,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -669,7 +668,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 669 | // 准备参数 | 668 | // 准备参数 |
| 670 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 669 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 671 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 670 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 672 | - o -> o.setStatus(PayOrderStatusRespEnum.CLOSED.getStatus())); | 671 | + o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus())); |
| 673 | 672 | ||
| 674 | // 调用,并断言异常 | 673 | // 调用,并断言异常 |
| 675 | assertServiceException(() -> orderService.notifyOrder(channel, notify), | 674 | assertServiceException(() -> orderService.notifyOrder(channel, notify), |
| @@ -686,7 +685,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -686,7 +685,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 686 | // 准备参数 | 685 | // 准备参数 |
| 687 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 686 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 688 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 687 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 689 | - o -> o.setStatus(PayOrderStatusRespEnum.CLOSED.getStatus()) | 688 | + o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus()) |
| 690 | .setOutTradeNo("P110")); | 689 | .setOutTradeNo("P110")); |
| 691 | 690 | ||
| 692 | // 调用,并断言 | 691 | // 调用,并断言 |
| @@ -705,7 +704,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -705,7 +704,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 705 | // 准备参数 | 704 | // 准备参数 |
| 706 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 705 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 707 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 706 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 708 | - o -> o.setStatus(PayOrderStatusRespEnum.CLOSED.getStatus()) | 707 | + o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus()) |
| 709 | .setOutTradeNo("P110")); | 708 | .setOutTradeNo("P110")); |
| 710 | 709 | ||
| 711 | // 调用,并断言 | 710 | // 调用,并断言 |
| @@ -724,7 +723,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -724,7 +723,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 724 | // 准备参数 | 723 | // 准备参数 |
| 725 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 724 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 726 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 725 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 727 | - o -> o.setStatus(PayOrderStatusRespEnum.CLOSED.getStatus()) | 726 | + o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus()) |
| 728 | .setOutTradeNo("P110")); | 727 | .setOutTradeNo("P110")); |
| 729 | 728 | ||
| 730 | // 调用,并断言异常 | 729 | // 调用,并断言异常 |
| @@ -742,7 +741,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | @@ -742,7 +741,7 @@ public class PayOrderServiceTest extends BaseDbAndRedisUnitTest { | ||
| 742 | // 准备参数 | 741 | // 准备参数 |
| 743 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); | 742 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L)); |
| 744 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, | 743 | PayOrderRespDTO notify = randomPojo(PayOrderRespDTO.class, |
| 745 | - o -> o.setStatus(PayOrderStatusRespEnum.CLOSED.getStatus()) | 744 | + o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus()) |
| 746 | .setOutTradeNo("P110")); | 745 | .setOutTradeNo("P110")); |
| 747 | 746 | ||
| 748 | // 调用 | 747 | // 调用 |
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceTest.java
| @@ -2,11 +2,10 @@ package cn.iocoder.yudao.module.pay.service.refund; | @@ -2,11 +2,10 @@ package cn.iocoder.yudao.module.pay.service.refund; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.extra.spring.SpringUtil; | 3 | import cn.hutool.extra.spring.SpringUtil; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.refund.PayRefundStatusRespEnum; | 5 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 10 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbAndRedisUnitTest; | 9 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbAndRedisUnitTest; |
| 11 | import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO; | 10 | import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO; |
| 12 | import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundExportReqVO; | 11 | import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundExportReqVO; |
| @@ -464,7 +463,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -464,7 +463,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 464 | // 准备参数 | 463 | // 准备参数 |
| 465 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 464 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 466 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 465 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 467 | - o -> o.setStatus(PayRefundStatusRespEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); | 466 | + o -> o.setStatus(PayRefundStatusEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); |
| 468 | 467 | ||
| 469 | // 调用,并断言异常 | 468 | // 调用,并断言异常 |
| 470 | assertServiceException(() -> refundService.notifyRefund(channel, refundRespDTO), | 469 | assertServiceException(() -> refundService.notifyRefund(channel, refundRespDTO), |
| @@ -476,7 +475,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -476,7 +475,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 476 | // 准备参数 | 475 | // 准备参数 |
| 477 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 476 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 478 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 477 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 479 | - o -> o.setStatus(PayRefundStatusRespEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); | 478 | + o -> o.setStatus(PayRefundStatusEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); |
| 480 | // mock 数据(refund + 已支付) | 479 | // mock 数据(refund + 已支付) |
| 481 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") | 480 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") |
| 482 | .setStatus(PayRefundStatusEnum.SUCCESS.getStatus())); | 481 | .setStatus(PayRefundStatusEnum.SUCCESS.getStatus())); |
| @@ -493,7 +492,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -493,7 +492,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 493 | // 准备参数 | 492 | // 准备参数 |
| 494 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 493 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 495 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 494 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 496 | - o -> o.setStatus(PayRefundStatusRespEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); | 495 | + o -> o.setStatus(PayRefundStatusEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); |
| 497 | // mock 数据(refund + 已支付) | 496 | // mock 数据(refund + 已支付) |
| 498 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") | 497 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") |
| 499 | .setStatus(PayRefundStatusEnum.FAILURE.getStatus())); | 498 | .setStatus(PayRefundStatusEnum.FAILURE.getStatus())); |
| @@ -509,7 +508,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -509,7 +508,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 509 | // 准备参数 | 508 | // 准备参数 |
| 510 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 509 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 511 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 510 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 512 | - o -> o.setStatus(PayRefundStatusRespEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); | 511 | + o -> o.setStatus(PayRefundStatusEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); |
| 513 | // mock 数据(refund + 已支付) | 512 | // mock 数据(refund + 已支付) |
| 514 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") | 513 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") |
| 515 | .setStatus(PayRefundStatusEnum.WAITING.getStatus()) | 514 | .setStatus(PayRefundStatusEnum.WAITING.getStatus()) |
| @@ -530,7 +529,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -530,7 +529,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 530 | // 准备参数 | 529 | // 准备参数 |
| 531 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 530 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 532 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 531 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 533 | - o -> o.setStatus(PayRefundStatusRespEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); | 532 | + o -> o.setStatus(PayRefundStatusEnum.SUCCESS.getStatus()).setOutRefundNo("R100")); |
| 534 | // mock 数据(refund + 已支付) | 533 | // mock 数据(refund + 已支付) |
| 535 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") | 534 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") |
| 536 | .setStatus(PayRefundStatusEnum.WAITING.getStatus()) | 535 | .setStatus(PayRefundStatusEnum.WAITING.getStatus()) |
| @@ -557,7 +556,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -557,7 +556,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 557 | // 准备参数 | 556 | // 准备参数 |
| 558 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 557 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 559 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 558 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 560 | - o -> o.setStatus(PayRefundStatusRespEnum.FAILURE.getStatus()).setOutRefundNo("R100")); | 559 | + o -> o.setStatus(PayRefundStatusEnum.FAILURE.getStatus()).setOutRefundNo("R100")); |
| 561 | 560 | ||
| 562 | // 调用,并断言异常 | 561 | // 调用,并断言异常 |
| 563 | assertServiceException(() -> refundService.notifyRefund(channel, refundRespDTO), | 562 | assertServiceException(() -> refundService.notifyRefund(channel, refundRespDTO), |
| @@ -569,7 +568,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -569,7 +568,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 569 | // 准备参数 | 568 | // 准备参数 |
| 570 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 569 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 571 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 570 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 572 | - o -> o.setStatus(PayRefundStatusRespEnum.FAILURE.getStatus()).setOutRefundNo("R100")); | 571 | + o -> o.setStatus(PayRefundStatusEnum.FAILURE.getStatus()).setOutRefundNo("R100")); |
| 573 | // mock 数据(refund + 退款失败) | 572 | // mock 数据(refund + 退款失败) |
| 574 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") | 573 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") |
| 575 | .setStatus(PayRefundStatusEnum.FAILURE.getStatus())); | 574 | .setStatus(PayRefundStatusEnum.FAILURE.getStatus())); |
| @@ -586,7 +585,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -586,7 +585,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 586 | // 准备参数 | 585 | // 准备参数 |
| 587 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 586 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 588 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 587 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 589 | - o -> o.setStatus(PayRefundStatusRespEnum.FAILURE.getStatus()).setOutRefundNo("R100")); | 588 | + o -> o.setStatus(PayRefundStatusEnum.FAILURE.getStatus()).setOutRefundNo("R100")); |
| 590 | // mock 数据(refund + 已支付) | 589 | // mock 数据(refund + 已支付) |
| 591 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") | 590 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") |
| 592 | .setStatus(PayRefundStatusEnum.SUCCESS.getStatus())); | 591 | .setStatus(PayRefundStatusEnum.SUCCESS.getStatus())); |
| @@ -602,7 +601,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -602,7 +601,7 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 602 | // 准备参数 | 601 | // 准备参数 |
| 603 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); | 602 | PayChannelDO channel = randomPojo(PayChannelDO.class, o -> o.setId(10L).setAppId(1L)); |
| 604 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, | 603 | PayRefundRespDTO refundRespDTO = randomPojo(PayRefundRespDTO.class, |
| 605 | - o -> o.setStatus(PayRefundStatusRespEnum.FAILURE.getStatus()).setOutRefundNo("R100")); | 604 | + o -> o.setStatus(PayRefundStatusEnum.FAILURE.getStatus()).setOutRefundNo("R100")); |
| 606 | // mock 数据(refund + 已支付) | 605 | // mock 数据(refund + 已支付) |
| 607 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") | 606 | PayRefundDO refund = randomPojo(PayRefundDO.class, o -> o.setAppId(1L).setNo("R100") |
| 608 | .setStatus(PayRefundStatusEnum.WAITING.getStatus()) | 607 | .setStatus(PayRefundStatusEnum.WAITING.getStatus()) |
| @@ -639,17 +638,17 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | @@ -639,17 +638,17 @@ public class PayRefundServiceTest extends BaseDbAndRedisUnitTest { | ||
| 639 | 638 | ||
| 640 | @Test | 639 | @Test |
| 641 | public void testSyncRefund_waiting() { | 640 | public void testSyncRefund_waiting() { |
| 642 | - assertEquals(testSyncRefund_waitingOrSuccessOrFailure(PayRefundStatusRespEnum.WAITING.getStatus()), 0); | 641 | + assertEquals(testSyncRefund_waitingOrSuccessOrFailure(PayRefundStatusEnum.WAITING.getStatus()), 0); |
| 643 | } | 642 | } |
| 644 | 643 | ||
| 645 | @Test | 644 | @Test |
| 646 | public void testSyncRefund_success() { | 645 | public void testSyncRefund_success() { |
| 647 | - assertEquals(testSyncRefund_waitingOrSuccessOrFailure(PayRefundStatusRespEnum.SUCCESS.getStatus()), 1); | 646 | + assertEquals(testSyncRefund_waitingOrSuccessOrFailure(PayRefundStatusEnum.SUCCESS.getStatus()), 1); |
| 648 | } | 647 | } |
| 649 | 648 | ||
| 650 | @Test | 649 | @Test |
| 651 | public void testSyncRefund_failure() { | 650 | public void testSyncRefund_failure() { |
| 652 | - assertEquals(testSyncRefund_waitingOrSuccessOrFailure(PayRefundStatusRespEnum.FAILURE.getStatus()), 1); | 651 | + assertEquals(testSyncRefund_waitingOrSuccessOrFailure(PayRefundStatusEnum.FAILURE.getStatus()), 1); |
| 653 | } | 652 | } |
| 654 | 653 | ||
| 655 | private int testSyncRefund_waitingOrSuccessOrFailure(Integer status) { | 654 | private int testSyncRefund_waitingOrSuccessOrFailure(Integer status) { |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/pom.xml deleted
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| 3 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 4 | - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 5 | - <parent> | ||
| 6 | - <groupId>cn.iocoder.boot</groupId> | ||
| 7 | - <artifactId>yudao-module-pay</artifactId> | ||
| 8 | - <version>${revision}</version> | ||
| 9 | - </parent> | ||
| 10 | - <modelVersion>4.0.0</modelVersion> | ||
| 11 | - | ||
| 12 | - <artifactId>yudao-spring-boot-starter-biz-pay</artifactId> | ||
| 13 | - <name>${project.artifactId}</name> | ||
| 14 | - <description>支付拓展,接入国内多个支付渠道 | ||
| 15 | - 1. 支付宝,基于官方 SDK 接入 | ||
| 16 | - 2. 微信支付,基于 weixin-java-pay 接入 | ||
| 17 | - </description> | ||
| 18 | - | ||
| 19 | - <dependencies> | ||
| 20 | - <dependency> | ||
| 21 | - <groupId>cn.iocoder.boot</groupId> | ||
| 22 | - <artifactId>yudao-common</artifactId> | ||
| 23 | - </dependency> | ||
| 24 | - | ||
| 25 | - <!-- Spring 核心 --> | ||
| 26 | - <dependency> | ||
| 27 | - <groupId>org.springframework.boot</groupId> | ||
| 28 | - <artifactId>spring-boot-starter</artifactId> | ||
| 29 | - </dependency> | ||
| 30 | - | ||
| 31 | - <!-- 工具类相关 --> | ||
| 32 | - <dependency> | ||
| 33 | - <groupId>org.springframework.boot</groupId> | ||
| 34 | - <artifactId>spring-boot-starter-validation</artifactId> | ||
| 35 | - </dependency> | ||
| 36 | - | ||
| 37 | - <dependency> | ||
| 38 | - <groupId>org.slf4j</groupId> | ||
| 39 | - <artifactId>slf4j-api</artifactId> | ||
| 40 | - </dependency> | ||
| 41 | - | ||
| 42 | - <dependency> | ||
| 43 | - <groupId>com.fasterxml.jackson.core</groupId> | ||
| 44 | - <artifactId>jackson-databind</artifactId> | ||
| 45 | - </dependency> | ||
| 46 | - <dependency> | ||
| 47 | - <groupId>com.fasterxml.jackson.core</groupId> | ||
| 48 | - <artifactId>jackson-core</artifactId> | ||
| 49 | - </dependency> | ||
| 50 | - | ||
| 51 | - <!-- 三方云服务相关 --> | ||
| 52 | - <dependency> | ||
| 53 | - <groupId>com.alipay.sdk</groupId> | ||
| 54 | - <artifactId>alipay-sdk-java</artifactId> | ||
| 55 | - <version>4.35.79.ALL</version> | ||
| 56 | - <exclusions> | ||
| 57 | - <exclusion> | ||
| 58 | - <groupId>org.bouncycastle</groupId> | ||
| 59 | - <artifactId>bcprov-jdk15on</artifactId> | ||
| 60 | - </exclusion> | ||
| 61 | - </exclusions> | ||
| 62 | - </dependency> | ||
| 63 | - <dependency> | ||
| 64 | - <groupId>com.github.binarywang</groupId> | ||
| 65 | - <artifactId>weixin-java-pay</artifactId> | ||
| 66 | - </dependency> | ||
| 67 | - | ||
| 68 | - <!-- Test 测试相关 --> | ||
| 69 | - <dependency> | ||
| 70 | - <groupId>cn.iocoder.boot</groupId> | ||
| 71 | - <artifactId>yudao-spring-boot-starter-test</artifactId> | ||
| 72 | - <scope>test</scope> | ||
| 73 | - </dependency> | ||
| 74 | - | ||
| 75 | - </dependencies> | ||
| 76 | - | ||
| 77 | -</project> |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/config/YudaoPayAutoConfiguration.java deleted
| 1 | -package cn.iocoder.yudao.framework.pay.config; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.impl.PayClientFactoryImpl; | ||
| 5 | -import org.springframework.boot.autoconfigure.AutoConfiguration; | ||
| 6 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 7 | -import org.springframework.context.annotation.Bean; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * 支付配置类 | ||
| 11 | - * | ||
| 12 | - * @author 芋道源码 | ||
| 13 | - */ | ||
| 14 | -@AutoConfiguration | ||
| 15 | -public class YudaoPayAutoConfiguration { | ||
| 16 | - | ||
| 17 | - @Bean | ||
| 18 | - public PayClientFactory payClientFactory() { | ||
| 19 | - return new PayClientFactoryImpl(); | ||
| 20 | - } | ||
| 21 | - | ||
| 22 | -} |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/channel/PayChannelEnum.java deleted
| 1 | -package cn.iocoder.yudao.framework.pay.core.enums.channel; | ||
| 2 | - | ||
| 3 | -import cn.hutool.core.util.ArrayUtil; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.impl.NonePayClientConfig; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig; | ||
| 8 | -import lombok.AllArgsConstructor; | ||
| 9 | -import lombok.Getter; | ||
| 10 | - | ||
| 11 | -/** | ||
| 12 | - * 支付渠道的编码的枚举 | ||
| 13 | - * | ||
| 14 | - * @author 芋道源码 | ||
| 15 | - */ | ||
| 16 | -@Getter | ||
| 17 | -@AllArgsConstructor | ||
| 18 | -public enum PayChannelEnum { | ||
| 19 | - | ||
| 20 | - WX_PUB("wx_pub", "微信 JSAPI 支付", WxPayClientConfig.class), // 公众号网页 | ||
| 21 | - WX_LITE("wx_lite", "微信小程序支付", WxPayClientConfig.class), | ||
| 22 | - WX_APP("wx_app", "微信 App 支付", WxPayClientConfig.class), | ||
| 23 | - WX_NATIVE("wx_native", "微信 Native 支付", WxPayClientConfig.class), | ||
| 24 | - WX_WAP("wx_wap", "微信 Wap 网站支付", WxPayClientConfig.class), // H5 网页 | ||
| 25 | - WX_BAR("wx_bar", "微信付款码支付", WxPayClientConfig.class), | ||
| 26 | - | ||
| 27 | - ALIPAY_PC("alipay_pc", "支付宝 PC 网站支付", AlipayPayClientConfig.class), | ||
| 28 | - ALIPAY_WAP("alipay_wap", "支付宝 Wap 网站支付", AlipayPayClientConfig.class), | ||
| 29 | - ALIPAY_APP("alipay_app", "支付宝App 支付", AlipayPayClientConfig.class), | ||
| 30 | - ALIPAY_QR("alipay_qr", "支付宝扫码支付", AlipayPayClientConfig.class), | ||
| 31 | - ALIPAY_BAR("alipay_bar", "支付宝条码支付", AlipayPayClientConfig.class), | ||
| 32 | - MOCK("mock", "模拟支付", NonePayClientConfig.class), | ||
| 33 | - | ||
| 34 | - WALLET("wallet", "钱包支付", NonePayClientConfig.class); | ||
| 35 | - | ||
| 36 | - /** | ||
| 37 | - * 编码 | ||
| 38 | - * | ||
| 39 | - * 参考 <a href="https://www.pingxx.com/api/支付渠道属性值.html">支付渠道属性值</a> | ||
| 40 | - */ | ||
| 41 | - private final String code; | ||
| 42 | - /** | ||
| 43 | - * 名字 | ||
| 44 | - */ | ||
| 45 | - private final String name; | ||
| 46 | - | ||
| 47 | - /** | ||
| 48 | - * 配置类 | ||
| 49 | - */ | ||
| 50 | - private final Class<? extends PayClientConfig> configClass; | ||
| 51 | - | ||
| 52 | - /** | ||
| 53 | - * 微信支付 | ||
| 54 | - */ | ||
| 55 | - public static final String WECHAT = "WECHAT"; | ||
| 56 | - | ||
| 57 | - /** | ||
| 58 | - * 支付宝支付 | ||
| 59 | - */ | ||
| 60 | - public static final String ALIPAY = "ALIPAY"; | ||
| 61 | - | ||
| 62 | - public static PayChannelEnum getByCode(String code) { | ||
| 63 | - return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values()); | ||
| 64 | - } | ||
| 65 | - | ||
| 66 | - public static boolean isAlipay(String channelCode) { | ||
| 67 | - return channelCode != null && channelCode.startsWith("alipay"); | ||
| 68 | - } | ||
| 69 | -} |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/order/PayOrderStatusRespEnum.java deleted
| 1 | -package cn.iocoder.yudao.framework.pay.core.enums.order; | ||
| 2 | - | ||
| 3 | -import lombok.AllArgsConstructor; | ||
| 4 | -import lombok.Getter; | ||
| 5 | - | ||
| 6 | -import java.util.Objects; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * 渠道的支付状态枚举 | ||
| 10 | - * | ||
| 11 | - * @author 芋道源码 | ||
| 12 | - */ | ||
| 13 | -@Getter | ||
| 14 | -@AllArgsConstructor | ||
| 15 | -public enum PayOrderStatusRespEnum { | ||
| 16 | - | ||
| 17 | - WAITING(0, "未支付"), | ||
| 18 | - SUCCESS(10, "支付成功"), | ||
| 19 | - REFUND(20, "已退款"), | ||
| 20 | - CLOSED(30, "支付关闭"), | ||
| 21 | - ; | ||
| 22 | - | ||
| 23 | - private final Integer status; | ||
| 24 | - private final String name; | ||
| 25 | - | ||
| 26 | - /** | ||
| 27 | - * 判断是否支付成功 | ||
| 28 | - * | ||
| 29 | - * @param status 状态 | ||
| 30 | - * @return 是否支付成功 | ||
| 31 | - */ | ||
| 32 | - public static boolean isSuccess(Integer status) { | ||
| 33 | - return Objects.equals(status, SUCCESS.getStatus()); | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | - /** | ||
| 37 | - * 判断是否已退款 | ||
| 38 | - * | ||
| 39 | - * @param status 状态 | ||
| 40 | - * @return 是否支付成功 | ||
| 41 | - */ | ||
| 42 | - public static boolean isRefund(Integer status) { | ||
| 43 | - return Objects.equals(status, REFUND.getStatus()); | ||
| 44 | - } | ||
| 45 | - | ||
| 46 | - /** | ||
| 47 | - * 判断是否支付关闭 | ||
| 48 | - * | ||
| 49 | - * @param status 状态 | ||
| 50 | - * @return 是否支付关闭 | ||
| 51 | - */ | ||
| 52 | - public static boolean isClosed(Integer status) { | ||
| 53 | - return Objects.equals(status, CLOSED.getStatus()); | ||
| 54 | - } | ||
| 55 | - | ||
| 56 | -} |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/refund/PayRefundStatusRespEnum.java deleted
| 1 | -package cn.iocoder.yudao.framework.pay.core.enums.refund; | ||
| 2 | - | ||
| 3 | -import lombok.AllArgsConstructor; | ||
| 4 | -import lombok.Getter; | ||
| 5 | - | ||
| 6 | -import java.util.Objects; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * 渠道的退款状态枚举 | ||
| 10 | - * | ||
| 11 | - * @author jason | ||
| 12 | - */ | ||
| 13 | -@Getter | ||
| 14 | -@AllArgsConstructor | ||
| 15 | -public enum PayRefundStatusRespEnum { | ||
| 16 | - | ||
| 17 | - WAITING(0, "等待退款"), | ||
| 18 | - SUCCESS(10, "退款成功"), | ||
| 19 | - FAILURE(20, "退款失败"); | ||
| 20 | - | ||
| 21 | - private final Integer status; | ||
| 22 | - private final String name; | ||
| 23 | - | ||
| 24 | - public static boolean isSuccess(Integer status) { | ||
| 25 | - return Objects.equals(status, SUCCESS.getStatus()); | ||
| 26 | - } | ||
| 27 | - | ||
| 28 | - public static boolean isFailure(Integer status) { | ||
| 29 | - return Objects.equals(status, FAILURE.getStatus()); | ||
| 30 | - } | ||
| 31 | - | ||
| 32 | -} |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/transfer/PayTransferStatusRespEnum.java deleted
| 1 | -package cn.iocoder.yudao.framework.pay.core.enums.transfer; | ||
| 2 | - | ||
| 3 | -import lombok.AllArgsConstructor; | ||
| 4 | -import lombok.Getter; | ||
| 5 | - | ||
| 6 | -import java.util.Objects; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * 渠道的转账状态枚举 | ||
| 10 | - * | ||
| 11 | - * @author jason | ||
| 12 | - */ | ||
| 13 | -@Getter | ||
| 14 | -@AllArgsConstructor | ||
| 15 | -public enum PayTransferStatusRespEnum { | ||
| 16 | - | ||
| 17 | - WAITING(0, "等待转账"), | ||
| 18 | - PROCESSING(5, "转账进行中"), | ||
| 19 | - SUCCESS(10, "转账成功"), | ||
| 20 | - CLOSED(20, "转账关闭"); | ||
| 21 | - | ||
| 22 | - private final Integer status; | ||
| 23 | - private final String name; | ||
| 24 | - | ||
| 25 | - public static boolean isSuccess(Integer status) { | ||
| 26 | - return Objects.equals(status, SUCCESS.getStatus()); | ||
| 27 | - } | ||
| 28 | - | ||
| 29 | - public static boolean isClosed(Integer status) { | ||
| 30 | - return Objects.equals(status, CLOSED.getStatus()); | ||
| 31 | - } | ||
| 32 | - | ||
| 33 | - public static boolean isProcessing(Integer status) { | ||
| 34 | - return Objects.equals(status, PROCESSING.getStatus()); | ||
| 35 | - } | ||
| 36 | - | ||
| 37 | -} |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted