From 0e3d0bc7eee29fce400e01b02b3f7cc42189535d Mon Sep 17 00:00:00 2001 From: caolin <1149034574@qq.com> Date: Thu, 24 Aug 2023 15:16:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98bug?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AppletPayController.java | 30 +--------- .../server/controller/H5PayController.java | 30 +--------- .../controller/PayNoticeLogController.java | 12 ++-- .../impl/TdSysUserMemberServiceImpl.java | 4 +- .../driver/server/util/InputStreamUtil.java | 46 +++++++++++++++ .../com/jwl/driver/server/WechatPayTest.java | 57 +++++++++---------- 6 files changed, 86 insertions(+), 93 deletions(-) create mode 100644 src/main/java/com/jwl/driver/server/util/InputStreamUtil.java diff --git a/src/main/java/com/jwl/driver/server/controller/AppletPayController.java b/src/main/java/com/jwl/driver/server/controller/AppletPayController.java index bea0a23..54545b4 100644 --- a/src/main/java/com/jwl/driver/server/controller/AppletPayController.java +++ b/src/main/java/com/jwl/driver/server/controller/AppletPayController.java @@ -4,6 +4,7 @@ import com.jwl.driver.server.config.WechatPayConfig; import com.jwl.driver.server.entity.OrderPayInfo; import com.jwl.driver.server.response.BaseResponse; import com.jwl.driver.server.service.IOrderPayInfoService; +import com.jwl.driver.server.util.InputStreamUtil; import com.jwl.driver.server.util.WechatPayUtil; import com.jwl.driver.server.vo.AppletPayVo; import com.wechat.pay.java.core.Config; @@ -81,37 +82,10 @@ public class AppletPayController { /** 构建service */ private JsapiServiceExtension createService() { - - InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("wechatPay/apiclient_key.pem"); - String keyString; - try { - Throwable var2 = null; - try { - keyString = IOUtil.toString(inputStream); - } catch (Throwable var13) { - var2 = var13; - throw var13; - } finally { - if (inputStream != null) { - if (var2 != null) { - try { - inputStream.close(); - } catch (Throwable var12) { - var2.addSuppressed(var12); - } - } else { - inputStream.close(); - } - } - - } - } catch (IOException var15) { - throw new UncheckedIOException(var15); - } Config config = new RSAAutoCertificateConfig.Builder() .merchantId(wechatPayConfig.getMchId()) - .privateKey(PemUtil.loadPrivateKeyFromString(keyString)) + .privateKey(PemUtil.loadPrivateKeyFromString(InputStreamUtil.getContentStr("wechatPay/apiclient_key.pem"))) // .privateKeyFromPath(wechatPayConfig.getPrivateKeyPath()) .merchantSerialNumber(wechatPayConfig.getMchSerialNo()) .apiV3Key(wechatPayConfig.getApiV3Key()) diff --git a/src/main/java/com/jwl/driver/server/controller/H5PayController.java b/src/main/java/com/jwl/driver/server/controller/H5PayController.java index 7deb7e2..8ffe919 100644 --- a/src/main/java/com/jwl/driver/server/controller/H5PayController.java +++ b/src/main/java/com/jwl/driver/server/controller/H5PayController.java @@ -4,6 +4,7 @@ import com.jwl.driver.server.config.WechatPayConfig; import com.jwl.driver.server.entity.OrderPayInfo; import com.jwl.driver.server.response.BaseResponse; import com.jwl.driver.server.service.IOrderPayInfoService; +import com.jwl.driver.server.util.InputStreamUtil; import com.jwl.driver.server.vo.H5PayVo; import com.wechat.pay.java.core.Config; import com.wechat.pay.java.core.RSAAutoCertificateConfig; @@ -78,37 +79,10 @@ public class H5PayController { } private H5Service createService() { - InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("wechatPay/apiclient_key.pem"); - String keyString; - try { - Throwable var2 = null; - try { - keyString = IOUtil.toString(inputStream); - } catch (Throwable var13) { - var2 = var13; - throw var13; - } finally { - if (inputStream != null) { - if (var2 != null) { - try { - inputStream.close(); - } catch (Throwable var12) { - var2.addSuppressed(var12); - } - } else { - inputStream.close(); - } - } - - } - } catch (IOException var15) { - throw new UncheckedIOException(var15); - } - Config config = new RSAAutoCertificateConfig.Builder() .merchantId(wechatPayConfig.getMchId()) - .privateKey(PemUtil.loadPrivateKeyFromString(keyString)) + .privateKey(PemUtil.loadPrivateKeyFromString(InputStreamUtil.getContentStr("wechatPay/apiclient_key.pem"))) // .privateKeyFromPath(wechatPayConfig.getPrivateKeyPath()) .merchantSerialNumber(wechatPayConfig.getMchSerialNo()) .apiV3Key(wechatPayConfig.getApiV3Key()) diff --git a/src/main/java/com/jwl/driver/server/controller/PayNoticeLogController.java b/src/main/java/com/jwl/driver/server/controller/PayNoticeLogController.java index 8e84063..f97e39f 100644 --- a/src/main/java/com/jwl/driver/server/controller/PayNoticeLogController.java +++ b/src/main/java/com/jwl/driver/server/controller/PayNoticeLogController.java @@ -7,19 +7,18 @@ import com.jwl.driver.server.response.BaseResponse; import com.jwl.driver.server.service.IOrderPayInfoService; import com.jwl.driver.server.service.ITdMemberService; import com.jwl.driver.server.service.ITdSysUserMemberService; +import com.jwl.driver.server.util.InputStreamUtil; import com.wechat.pay.java.core.RSAAutoCertificateConfig; import com.wechat.pay.java.core.notification.NotificationConfig; import com.wechat.pay.java.core.notification.NotificationParser; import com.wechat.pay.java.core.notification.RequestParam; +import com.wechat.pay.java.core.util.PemUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpRequest; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; import org.springframework.web.servlet.resource.HttpResource; @@ -35,7 +34,7 @@ import javax.annotation.Resource; * @since 2023-08-10 */ @Api(tags = "支付回调") -@Controller +@RestController @RequestMapping("/payNoticeLog") @Slf4j public class PayNoticeLogController { @@ -67,7 +66,8 @@ public class PayNoticeLogController { log.info("支付回调信息==============》{}",requestBody); NotificationConfig config = new RSAAutoCertificateConfig.Builder() .merchantId(wechatPayConfig.getMchId()) - .privateKeyFromPath(wechatPayConfig.getPrivateKeyPath()) + .privateKey(PemUtil.loadPrivateKeyFromString(InputStreamUtil.getContentStr("wechatPay/apiclient_key.pem"))) +// .privateKeyFromPath(wechatPayConfig.getPrivateKeyPath()) .merchantSerialNumber(wechatPayConfig.getPrivateKeyPath()) .apiV3Key(wechatPayConfig.getApiV3Key()) .build(); diff --git a/src/main/java/com/jwl/driver/server/service/impl/TdSysUserMemberServiceImpl.java b/src/main/java/com/jwl/driver/server/service/impl/TdSysUserMemberServiceImpl.java index 2332e03..3755ccc 100644 --- a/src/main/java/com/jwl/driver/server/service/impl/TdSysUserMemberServiceImpl.java +++ b/src/main/java/com/jwl/driver/server/service/impl/TdSysUserMemberServiceImpl.java @@ -72,7 +72,7 @@ public class TdSysUserMemberServiceImpl extends ServiceImpl