From 1b22c250810f79da2e33a51ab06d740c768ae4cf Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sat, 24 Oct 2026 17:57:16 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#4143=20=E3=80=90=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E3=80=91=E4=BC=81=E4=B8=9A=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E5=88=B0=E9=93=B6=E8=A1=8C=E5=8D=A1=E4=BD=BF=E7=94=A8=E5=90=8E?= =?UTF-8?q?=E7=AB=8B=E5=8D=B3=E5=88=A0=E9=99=A4=E4=B8=B4=E6=97=B6=E5=85=AC?= =?UTF-8?q?=E9=92=A5=E6=96=87=E4=BB=B6=EF=BC=8C=E9=81=BF=E5=85=8D=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E6=9C=9F=E9=97=B4=E4=B8=B4=E6=97=B6=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A0=86=E7=A7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxpay/service/impl/EntPayServiceImpl.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java index db464936c..0adc7b1d4 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java @@ -89,17 +89,21 @@ public class EntPayServiceImpl implements EntPayService { @Override public EntPayBankResult payBank(EntPayBankRequest request) throws WxPayException { File publicKeyFile = this.buildPublicKeyFile(); - request.setEncBankNo(this.encryptRSA(publicKeyFile, request.getEncBankNo())); - request.setEncTrueName(this.encryptRSA(publicKeyFile, request.getEncTrueName())); - publicKeyFile.deleteOnExit(); + try { + request.setEncBankNo(this.encryptRSA(publicKeyFile, request.getEncBankNo())); + request.setEncTrueName(this.encryptRSA(publicKeyFile, request.getEncTrueName())); - request.checkAndSign(this.payService.getConfig()); + request.checkAndSign(this.payService.getConfig()); - String url = this.payService.getPayBaseUrl() + "/mmpaysptrans/pay_bank"; - String responseContent = this.payService.post(url, request.toXML(), true); - EntPayBankResult result = BaseWxPayResult.fromXML(responseContent, EntPayBankResult.class); - result.checkResult(this.payService, request.getSignType(), true); - return result; + String url = this.payService.getPayBaseUrl() + "/mmpaysptrans/pay_bank"; + String responseContent = this.payService.post(url, request.toXML(), true); + EntPayBankResult result = BaseWxPayResult.fromXML(responseContent, EntPayBankResult.class); + result.checkResult(this.payService, request.getSignType(), true); + return result; + } finally { + // 使用完毕后立即删除临时公钥文件,避免运行期间临时文件堆积 + publicKeyFile.delete(); + } } @Override