From 777d691d719f39dcf0de41ccbca38bedc2008af9 Mon Sep 17 00:00:00 2001 From: DaxPay Date: Wed, 19 Jun 2024 21:37:56 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=BC=82=E5=B8=B8=E4=BD=93=E7=B3=BB?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 2 +- .../sdk}/code/DaxPayCommonErrorCode.java | 4 +- .../single/sdk/payment/PayOrderSyncTest.java | 2 +- .../single/sdk/payment/PayOrderTest.java | 2 +- .../sdk/payment/RefundOrderSyncTest.java | 2 +- .../single/sdk/payment/RefundOrderTest.java | 2 +- .../single/sdk/query/QueryPayOrderTest.java | 2 +- .../sdk/query/QueryRefundOrderTest.java | 2 +- .../order/TransferOrderController.java | 3 + .../single/core/code/DaxPayErrorCode.java | 77 +++++++++++++++++++ .../exception/AmountExceedLimitException.java | 6 +- .../exception/ChannelNotEnableException.java | 6 +- .../exception/ChannelNotExistException.java | 6 +- .../core/exception/ConfigErrorException.java | 6 +- .../exception/ConfigNotEnableException.java | 6 +- .../core/exception/DataErrorException.java | 6 +- .../exception/MethodNotEnableException.java | 6 +- .../exception/MethodNotExistException.java | 6 +- .../exception/OperationFailException.java | 6 +- .../OperationProcessingException.java | 6 +- .../OperationUnsupportedException.java | 6 +- .../ParamValidationFailException.java | 6 +- .../core/exception/PayFailureException.java | 6 +- .../ReconciliationFailException.java | 6 +- .../exception/StatusNotExistException.java | 6 +- .../SystemUnknownErrorException.java | 6 +- .../core/exception/TradeClosedException.java | 6 +- .../core/exception/TradeFaileException.java | 6 +- .../exception/TradeNotExistException.java | 6 +- .../exception/TradeProcessingException.java | 6 +- .../exception/TradeStatusErrorException.java | 6 +- .../UnsupportedAbilityException.java | 6 +- .../exception/VerifySignFailedException.java | 6 +- .../common/context/ErrorInfoLocal.java | 26 ++++++- .../alipay/service/AliPayRefundService.java | 11 +-- .../service/WeChatPayRefundService.java | 13 ++-- .../service/TransferOrderService.java | 3 +- .../refund/service/RefundAssistService.java | 2 +- .../service/TransferAssistService.java | 2 +- .../transfer/service/TransferService.java | 2 +- 40 files changed, 200 insertions(+), 95 deletions(-) rename {daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core => daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk}/code/DaxPayCommonErrorCode.java (95%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java diff --git a/_doc/Task.md b/_doc/Task.md index 1bda7adb6..ca455471a 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -4,7 +4,6 @@ - [x] 增加转账接口功能 - [ ] 转账订单功能 - [ ] DEMO增加转账演示功能 -- [ ] 转账同步接口 - [x] 手动发起分账重试参数修正 - [x] 细分各种支付异常类和编码(部分+初版) - [x] 支付宝支持JSAPI方式支付 @@ -53,6 +52,7 @@ - [ ] 聚合支付UA在前端判断, 提高响应速度 - [ ] 增加分账回调处理(支付宝) - [ ] 请求权限改版, 使用专用配置类 +- [ ] 转账同步接口 **任务池** - [ ] 增加收单收银台功能 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java rename to daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java index 10a19104e..7d26196ac 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.core.code; +package cn.daxpay.single.sdk.code; /** * 公共错误码 @@ -73,5 +73,5 @@ public interface DaxPayCommonErrorCode { int DATA_ERROR = 20091; /** 未知异常,系统无法处理 */ - int SYSTEM_UNKNOWN_ERROR = 20000; + int SYSTEM_UNKNOWN_ERROR = 30000; } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java index 8136b0e10..6c7ee80c2 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java @@ -34,7 +34,7 @@ public class PayOrderSyncTest { param.setBizOrderNo("SDK_1715341621498"); DaxPayResult execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java index 2f3f9c793..9ff9a2b54 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java @@ -51,6 +51,6 @@ public class PayOrderTest { DaxPayResult execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java index cd4a16bb9..b9a18270f 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java @@ -36,7 +36,7 @@ public class RefundOrderSyncTest { param.setClientIp("127.0.0.1"); DaxPayResult execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java index cf5b2797e..18d611ae8 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java @@ -47,7 +47,7 @@ public class RefundOrderTest { DaxPayResult execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + System.out.println(PaySignUtil.verifyHmacSha256Sign(execute.getData(), "123456", execute.getData().getSign())); } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java index bdf6bc67c..23c3ec095 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java @@ -37,6 +37,6 @@ public class QueryPayOrderTest { DaxPayResult execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java index edccae95c..1e960e503 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java @@ -37,6 +37,6 @@ public class QueryRefundOrderTest { DaxPayResult execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java index a838ded0e..d22874bab 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java @@ -9,6 +9,7 @@ import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; import cn.daxpay.single.service.core.order.transfer.service.TransferOrderService; +import cn.daxpay.single.service.core.payment.transfer.service.TransferService; import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import cn.daxpay.single.service.param.order.TransferOrderQuery; import io.swagger.v3.oas.annotations.Operation; @@ -28,6 +29,7 @@ import org.springframework.web.bind.annotation.*; public class TransferOrderController { private final TransferOrderQueryService queryService; private final TransferOrderService transferOrderService; + private final TransferService transferService; @Operation(summary = "分页查询") @@ -53,6 +55,7 @@ public class TransferOrderController { @Operation(summary = "手动发起转账") @PostMapping("/transfer") public ResResult transfer(@RequestBody TransferParam param){ + transferService.transfer(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java new file mode 100644 index 000000000..d8fac561a --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java @@ -0,0 +1,77 @@ +package cn.daxpay.single.core.code; + +/** + * 公共错误码 + * @author xxm + * @since 2024/6/17 + */ +public interface DaxPayErrorCode { + /** 未归类的错误 */ + int UNCLASSIFIED_ERROR = 20000; + + /** 不存在的支付通道 */ + int CHANNEL_NOT_EXIST = 20011; + + /** 不存在的支付方式 */ + int METHOD_NOT_EXIST = 20012; + + /** 不存在的状态 */ + int STATUS_NOT_EXIST = 20013; + + /** 支付通道未启用 */ + int CHANNEL_NOT_ENABLE = 20021; + + /** 支付方式未启用 */ + int METHOD_NOT_ENABLE = 20022; + + /** 配置未启用 */ + int CONFIG_NOT_ENABLE = 20023; + + /** 配置错误 */ + int CONFIG_ERROR = 20024; + + /** 不支持该能力 */ + int UNSUPPORTED_ABILITY = 20030; + + /** 交易不存在 */ + int TRADE_NOT_EXIST = 20041; + + /** 交易已关闭 */ + int TRADE_CLOSED = 20042; + + /** 交易处理中, 请勿重复操作 */ + int TRADE_PROCESSING = 20043; + + /** 交易状态错误 */ + int TRADE_STATUS_ERROR = 20044; + + /** 交易失败 */ + int TRADE_FAILE = 20045; + + /** 参数校验未通过 */ + int PARAM_VALIDATION_FAIL = 20051; + + /** 验签失败 */ + int VERIFY_SIGN_FAILED = 20052; + + /** 金额超过限额 */ + int AMOUNT_EXCEED_LIMIT = 20060; + + /** 对账失败 */ + int RECONCILE_FAIL = 20071; + + /** 操作失败 */ + int OPERATION_FAIL = 20080; + + /** 操作处理中, 请勿重复操作 */ + int OPERATION_PROCESSING = 20081; + + /** 不支持的操作 */ + int OPERATION_UNSUPPORTED = 20082; + + /** 数据错误 */ + int DATA_ERROR = 20091; + + /** 未知异常,系统无法处理 */ + int SYSTEM_UNKNOWN_ERROR = 30000; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java index 37f6361cb..21d7da57f 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 金额超过限额 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class AmountExceedLimitException extends PayFailureException{ public AmountExceedLimitException(String message) { - super(DaxPayCommonErrorCode.AMOUNT_EXCEED_LIMIT,message); + super(DaxPayErrorCode.AMOUNT_EXCEED_LIMIT,message); } public AmountExceedLimitException() { - super(DaxPayCommonErrorCode.AMOUNT_EXCEED_LIMIT,"金额超过限额"); + super(DaxPayErrorCode.AMOUNT_EXCEED_LIMIT,"金额超过限额"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java index 401fc68e2..14a8ffa73 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 支付通道未启用 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ChannelNotEnableException extends PayFailureException{ public ChannelNotEnableException(String message) { - super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLE,message); + super(DaxPayErrorCode.CHANNEL_NOT_ENABLE,message); } public ChannelNotEnableException() { - super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLE,"支付通道未启用"); + super(DaxPayErrorCode.CHANNEL_NOT_ENABLE,"支付通道未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java index 9482d2e55..9ab1ad2b0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不存在的支付通道 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ChannelNotExistException extends PayFailureException{ public ChannelNotExistException(String message) { - super(DaxPayCommonErrorCode.CHANNEL_NOT_EXIST,message); + super(DaxPayErrorCode.CHANNEL_NOT_EXIST,message); } public ChannelNotExistException() { - super(DaxPayCommonErrorCode.CHANNEL_NOT_EXIST,"不存在的支付通道"); + super(DaxPayErrorCode.CHANNEL_NOT_EXIST,"不存在的支付通道"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java index 4288af1e1..dca8ed462 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 配置错误 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ConfigErrorException extends PayFailureException{ public ConfigErrorException(String message) { - super(DaxPayCommonErrorCode.CONFIG_ERROR,message); + super(DaxPayErrorCode.CONFIG_ERROR,message); } public ConfigErrorException() { - super(DaxPayCommonErrorCode.CONFIG_ERROR,"配置错误"); + super(DaxPayErrorCode.CONFIG_ERROR,"配置错误"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java index 72241de82..26f77e1e3 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 配置未启用 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ConfigNotEnableException extends PayFailureException{ public ConfigNotEnableException(String message) { - super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLE,message); + super(DaxPayErrorCode.CONFIG_NOT_ENABLE,message); } public ConfigNotEnableException() { - super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLE,"配置未启用"); + super(DaxPayErrorCode.CONFIG_NOT_ENABLE,"配置未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java index 3c07053dd..c18f2eb5f 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 数据错误 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class DataErrorException extends PayFailureException{ public DataErrorException(String message) { - super(DaxPayCommonErrorCode.DATA_ERROR,message); + super(DaxPayErrorCode.DATA_ERROR,message); } public DataErrorException() { - super(DaxPayCommonErrorCode.DATA_ERROR,"数据错误"); + super(DaxPayErrorCode.DATA_ERROR,"数据错误"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java index 6c113cefc..945c6c29d 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 支付方式未启用 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class MethodNotEnableException extends PayFailureException{ public MethodNotEnableException(String message) { - super(DaxPayCommonErrorCode.METHOD_NOT_ENABLE,message); + super(DaxPayErrorCode.METHOD_NOT_ENABLE,message); } public MethodNotEnableException() { - super(DaxPayCommonErrorCode.METHOD_NOT_ENABLE,"支付方式未启用"); + super(DaxPayErrorCode.METHOD_NOT_ENABLE,"支付方式未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java index dfe4fad74..706953721 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不存在的支付方式 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class MethodNotExistException extends PayFailureException{ public MethodNotExistException(String message) { - super(DaxPayCommonErrorCode.METHOD_NOT_EXIST,message); + super(DaxPayErrorCode.METHOD_NOT_EXIST,message); } public MethodNotExistException() { - super(DaxPayCommonErrorCode.METHOD_NOT_EXIST,"不存在的支付方式"); + super(DaxPayErrorCode.METHOD_NOT_EXIST,"不存在的支付方式"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java index f63cc8c78..1a0b97670 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 操作失败 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class OperationFailException extends PayFailureException{ public OperationFailException(String message) { - super(DaxPayCommonErrorCode.OPERATION_FAIL,message); + super(DaxPayErrorCode.OPERATION_FAIL,message); } public OperationFailException() { - super(DaxPayCommonErrorCode.OPERATION_FAIL,"操作失败"); + super(DaxPayErrorCode.OPERATION_FAIL,"操作失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java index 5507b6eb8..1339d84fd 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 操作处理中, 请勿重复操作 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class OperationProcessingException extends PayFailureException{ public OperationProcessingException(String message) { - super(DaxPayCommonErrorCode.OPERATION_PROCESSING,message); + super(DaxPayErrorCode.OPERATION_PROCESSING,message); } public OperationProcessingException() { - super(DaxPayCommonErrorCode.OPERATION_PROCESSING,"操作处理中, 请勿重复操作"); + super(DaxPayErrorCode.OPERATION_PROCESSING,"操作处理中, 请勿重复操作"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java index f5a800455..4b1735133 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不支持的操作 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class OperationUnsupportedException extends PayFailureException{ public OperationUnsupportedException(String message) { - super(DaxPayCommonErrorCode.OPERATION_UNSUPPORTED,message); + super(DaxPayErrorCode.OPERATION_UNSUPPORTED,message); } public OperationUnsupportedException() { - super(DaxPayCommonErrorCode.OPERATION_UNSUPPORTED,"不支持的操作"); + super(DaxPayErrorCode.OPERATION_UNSUPPORTED,"不支持的操作"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java index 242110dd5..3290aeb4f 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 参数校验未通过 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ParamValidationFailException extends PayFailureException{ public ParamValidationFailException(String message) { - super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAIL,message); + super(DaxPayErrorCode.PARAM_VALIDATION_FAIL,message); } public ParamValidationFailException() { - super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAIL,"参数校验未通过"); + super(DaxPayErrorCode.PARAM_VALIDATION_FAIL,"参数校验未通过"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java index 12c099344..8e1ccf24b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.core.exception; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 支付错误 @@ -17,11 +17,11 @@ public class PayFailureException extends BizException { } public PayFailureException(String message) { - super(DaxPayCommonErrorCode.UNCLASSIFIED_ERROR, message); + super(DaxPayErrorCode.UNCLASSIFIED_ERROR, message); } public PayFailureException() { - super(DaxPayCommonErrorCode.UNCLASSIFIED_ERROR, "支付失败"); + super(DaxPayErrorCode.UNCLASSIFIED_ERROR, "支付失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java index e17b7ef8b..9b8c8fb8a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 对账失败 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ReconciliationFailException extends PayFailureException{ public ReconciliationFailException(String message) { - super(DaxPayCommonErrorCode.RECONCILE_FAIL,message); + super(DaxPayErrorCode.RECONCILE_FAIL,message); } public ReconciliationFailException() { - super(DaxPayCommonErrorCode.RECONCILE_FAIL,"对账失败"); + super(DaxPayErrorCode.RECONCILE_FAIL,"对账失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java index 31ccceddd..64bf97991 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不存在的状态 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class StatusNotExistException extends PayFailureException{ public StatusNotExistException(String message) { - super(DaxPayCommonErrorCode.STATUS_NOT_EXIST,message); + super(DaxPayErrorCode.STATUS_NOT_EXIST,message); } public StatusNotExistException() { - super(DaxPayCommonErrorCode.STATUS_NOT_EXIST,"不存在的状态"); + super(DaxPayErrorCode.STATUS_NOT_EXIST,"不存在的状态"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java index 50e701006..26a636925 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 未知异常,系统无法处理 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class SystemUnknownErrorException extends PayFailureException{ public SystemUnknownErrorException(String message) { - super(DaxPayCommonErrorCode.SYSTEM_UNKNOWN_ERROR,message); + super(DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR,message); } public SystemUnknownErrorException() { - super(DaxPayCommonErrorCode.SYSTEM_UNKNOWN_ERROR,"未知异常,系统无法处理"); + super(DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR,"未知异常,系统无法处理"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java index be9e78cab..3e8e994bc 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易已关闭 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeClosedException extends PayFailureException{ public TradeClosedException(String message) { - super(DaxPayCommonErrorCode.TRADE_CLOSED,message); + super(DaxPayErrorCode.TRADE_CLOSED,message); } public TradeClosedException() { - super(DaxPayCommonErrorCode.TRADE_CLOSED,"交易已关闭"); + super(DaxPayErrorCode.TRADE_CLOSED,"交易已关闭"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java index ee0ea4f9d..b7b3f6014 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易失败 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeFaileException extends PayFailureException{ public TradeFaileException(String message) { - super(DaxPayCommonErrorCode.TRADE_FAILE,message); + super(DaxPayErrorCode.TRADE_FAILE,message); } public TradeFaileException() { - super(DaxPayCommonErrorCode.TRADE_FAILE,"交易失败"); + super(DaxPayErrorCode.TRADE_FAILE,"交易失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java index ad132af8a..7ba2f2a07 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易不存在 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeNotExistException extends PayFailureException{ public TradeNotExistException(String message) { - super(DaxPayCommonErrorCode.TRADE_NOT_EXIST,message); + super(DaxPayErrorCode.TRADE_NOT_EXIST,message); } public TradeNotExistException() { - super(DaxPayCommonErrorCode.TRADE_NOT_EXIST,"交易不存在"); + super(DaxPayErrorCode.TRADE_NOT_EXIST,"交易不存在"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java index 87ef11b58..90a0f0ec2 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易处理中, 请勿重复操作 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeProcessingException extends PayFailureException{ public TradeProcessingException(String message) { - super(DaxPayCommonErrorCode.TRADE_PROCESSING,message); + super(DaxPayErrorCode.TRADE_PROCESSING,message); } public TradeProcessingException() { - super(DaxPayCommonErrorCode.TRADE_PROCESSING,"交易处理中,请勿重复操作"); + super(DaxPayErrorCode.TRADE_PROCESSING,"交易处理中,请勿重复操作"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java index 0c8483090..b2c34f1eb 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易状态错误 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeStatusErrorException extends PayFailureException{ public TradeStatusErrorException(String message) { - super(DaxPayCommonErrorCode.TRADE_STATUS_ERROR,message); + super(DaxPayErrorCode.TRADE_STATUS_ERROR,message); } public TradeStatusErrorException() { - super(DaxPayCommonErrorCode.TRADE_STATUS_ERROR,"交易状态错误"); + super(DaxPayErrorCode.TRADE_STATUS_ERROR,"交易状态错误"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java index c6efa35d0..519a08146 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不支持该能力 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class UnsupportedAbilityException extends PayFailureException{ public UnsupportedAbilityException(String message) { - super(DaxPayCommonErrorCode.UNSUPPORTED_ABILITY,message); + super(DaxPayErrorCode.UNSUPPORTED_ABILITY,message); } public UnsupportedAbilityException() { - super(DaxPayCommonErrorCode.UNSUPPORTED_ABILITY,"不支持该能力"); + super(DaxPayErrorCode.UNSUPPORTED_ABILITY,"不支持该能力"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java index 723b049e0..3a145dde9 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 验签失败 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class VerifySignFailedException extends PayFailureException{ public VerifySignFailedException(String message) { - super(DaxPayCommonErrorCode.VERIFY_SIGN_FAILED,message); + super(DaxPayErrorCode.VERIFY_SIGN_FAILED,message); } public VerifySignFailedException() { - super(DaxPayCommonErrorCode.VERIFY_SIGN_FAILED,"验签失败"); + super(DaxPayErrorCode.VERIFY_SIGN_FAILED,"验签失败"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java index 049d5e866..ccecde6fd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java @@ -1,5 +1,7 @@ package cn.daxpay.single.service.common.context; +import cn.bootx.platform.common.core.exception.BizException; +import cn.daxpay.single.core.code.DaxPayErrorCode; import lombok.Data; import lombok.experimental.Accessors; @@ -13,8 +15,30 @@ import lombok.experimental.Accessors; public class ErrorInfoLocal { /** 错误码 */ - private String errorCode; + private int errorCode; /** 错误内容 */ private String errorMsg; + + /** + * 自动根据传入的异常对象对象进行处理 + */ + public void setException(Exception e) { + // 如果业务异常, 获取错误码和错误信息 + if (e instanceof BizException) { + BizException be = (BizException) e; + this.errorCode = be.getCode(); + this.errorMsg = be.getMessage(); + } + // 如果是空指针, 专门记录 + else if (e instanceof NullPointerException) { + this.errorCode = DaxPayErrorCode.UNCLASSIFIED_ERROR; + this.errorMsg = "空指针异常"; + } + // 如果是其他异常, 归类到为止异常中 + else { + this.errorCode = DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR; + this.errorMsg = "未归类异常,请联系管理人员进行排查"; + } + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java index 06c15b46e..1e5844a7f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.channel.alipay.service; +import cn.daxpay.single.core.code.DaxPayErrorCode; import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.core.util.PayUtil; @@ -53,10 +54,10 @@ public class AliPayRefundService { try { AlipayTradeRefundResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { - errorInfo.setErrorMsg(response.getSubMsg()); - errorInfo.setErrorCode(response.getCode()); + OperationFailException operationFailException = new OperationFailException(response.getSubMsg()); + errorInfo.setException(operationFailException); log.error("网关返回退款失败: {}", response.getSubMsg()); - throw new OperationFailException(response.getSubMsg()); + throw operationFailException; } // 默认为退款中状态 refundInfo.setStatus(RefundStatusEnum.PROGRESS) @@ -71,8 +72,8 @@ public class AliPayRefundService { catch (AlipayApiException e) { log.error("订单退款失败:", e); errorInfo.setErrorMsg(e.getErrMsg()); - errorInfo.setErrorCode(e.getErrCode()); - throw new OperationFailException("订单退款失败"); + errorInfo.setErrorCode(DaxPayErrorCode.OPERATION_FAIL); + throw new OperationFailException(e.getErrMsg()); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java index afa2d472b..0a6f9c419 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java @@ -20,7 +20,6 @@ import org.springframework.stereotype.Service; import java.io.ByteArrayInputStream; import java.util.Map; -import java.util.Optional; import static cn.daxpay.single.service.code.WeChatPayCode.*; @@ -58,9 +57,9 @@ public class WeChatPayRefundService { // 获取证书文件 if (StrUtil.isBlank(weChatPayConfig.getP12())){ String errorMsg = "微信p.12证书未配置,无法进行退款"; - errorInfo.setErrorMsg(errorMsg); - errorInfo.setErrorCode(RefundStatusEnum.FAIL.getCode()); - throw new ConfigErrorException(errorMsg); + ConfigErrorException configErrorException = new ConfigErrorException(errorMsg); + errorInfo.setException(configErrorException); + throw configErrorException; } byte[] fileBytes = Base64.decode(weChatPayConfig.getP12()); ByteArrayInputStream inputStream = new ByteArrayInputStream(fileBytes); @@ -85,10 +84,10 @@ public class WeChatPayRefundService { errorMsg = result.get(RETURN_MSG); } log.error("订单退款失败 {}", errorMsg); + TradeFaileException tradeFaileException = new TradeFaileException(errorMsg); ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); - errorInfo.setErrorMsg(errorMsg); - errorInfo.setErrorCode(Optional.ofNullable(resultCode).orElse(returnCode)); - throw new TradeFaileException(errorMsg); + errorInfo.setException(tradeFaileException); + throw tradeFaileException; } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java index fb620dac9..50675112a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.order.transfer.service; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -17,7 +18,7 @@ public class TransferOrderService { /** * 手动转账 */ - public void transfer(){ + public void transfer(TransferParam param){ } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 27f9ac970..1714ad01e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -120,7 +120,7 @@ public class RefundAssistService { public void updateOrderByError(RefundOrder refundOrder){ RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); - refundOrder.setErrorCode(errorInfo.getErrorCode()); + refundOrder.setErrorCode(String.valueOf(errorInfo.getErrorCode())); refundOrder.setErrorMsg(errorInfo.getErrorMsg()); refundOrder.setStatus(refundInfo.getStatus().getCode()); refundOrderManager.updateById(refundOrder); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java index d487d5bec..a9c634d5b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java @@ -56,7 +56,7 @@ public class TransferAssistService { ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); order.setStatus(TransferStatusEnum.FAIL.getCode()) .setErrorMsg(errorInfo.getErrorMsg()) - .setErrorCode(errorInfo.getErrorCode()); + .setErrorCode(String.valueOf(errorInfo.getErrorCode())); transferOrderManager.updateById(order); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java index f94b1b785..85093be22 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java @@ -33,7 +33,6 @@ public class TransferService { * 转账 */ public TransferResult transfer(TransferParam transferParam){ - // 获取策略 AbsTransferStrategy transferStrategy = PayStrategyFactory.create(transferParam.getChannel(),AbsTransferStrategy.class); // 检查转账参数 @@ -50,6 +49,7 @@ public class TransferService { log.error("转账出现错误", e); // 记录处理失败状态 PaymentContextLocal.get().getRefundInfo().setStatus(RefundStatusEnum.FAIL); + PaymentContextLocal.get().getErrorInfo().setException(e); // 更新退款失败的记录 transferAssistService.updateOrderByError(order); return transferAssistService.buildResult(order);