@@ -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