Skip to content

Commit cb2eeaf

Browse files
committed
fix(pay): 企业付款到银行卡使用后立即删除临时公钥文件,避免运行期间临时文件堆积
1 parent db880bb commit cb2eeaf

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

‎weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EntPayServiceImpl.java‎

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,17 +89,21 @@ public String getPublicKey() throws WxPayException {
8989
@Override
9090
public EntPayBankResult payBank(EntPayBankRequest request) throws WxPayException {
9191
File publicKeyFile = this.buildPublicKeyFile();
92-
request.setEncBankNo(this.encryptRSA(publicKeyFile, request.getEncBankNo()));
93-
request.setEncTrueName(this.encryptRSA(publicKeyFile, request.getEncTrueName()));
94-
publicKeyFile.deleteOnExit();
95-
96-
request.checkAndSign(this.payService.getConfig());
97-
98-
String url = this.payService.getPayBaseUrl() + "/mmpaysptrans/pay_bank";
99-
String responseContent = this.payService.post(url, request.toXML(), true);
100-
EntPayBankResult result = BaseWxPayResult.fromXML(responseContent, EntPayBankResult.class);
101-
result.checkResult(this.payService, request.getSignType(), true);
102-
return result;
92+
try {
93+
request.setEncBankNo(this.encryptRSA(publicKeyFile, request.getEncBankNo()));
94+
request.setEncTrueName(this.encryptRSA(publicKeyFile, request.getEncTrueName()));
95+
96+
request.checkAndSign(this.payService.getConfig());
97+
98+
String url = this.payService.getPayBaseUrl() + "/mmpaysptrans/pay_bank";
99+
String responseContent = this.payService.post(url, request.toXML(), true);
100+
EntPayBankResult result = BaseWxPayResult.fromXML(responseContent, EntPayBankResult.class);
101+
result.checkResult(this.payService, request.getSignType(), true);
102+
return result;
103+
} finally {
104+
// 使用完毕后立即删除临时公钥文件,避免运行期间临时文件堆积
105+
publicKeyFile.delete();
106+
}
103107
}
104108

105109
@Override

0 commit comments

Comments
 (0)