From 3cfc32aae2b77cff947e54cc2eb757eca42c9570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Sun, 10 Aug 2025 02:51:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=94=AF=E4=BB=98=E8=AF=81?= =?UTF-8?q?=E4=B9=A6=E7=9A=84=E6=8B=BC=E6=8E=A5=E8=A7=84=E5=88=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shop/controller/ShopOrderController.java | 5 +++-- .../shop/service/impl/ShopOrderServiceImpl.java | 13 ++++++++----- src/main/resources/application-dev.yml | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gxwebsoft/shop/controller/ShopOrderController.java b/src/main/java/com/gxwebsoft/shop/controller/ShopOrderController.java index 74f96cd..4b2b3bf 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/ShopOrderController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/ShopOrderController.java @@ -250,8 +250,9 @@ public class ShopOrderController extends BaseController { NotificationConfig config; try { if (active.equals("dev")) { - // 开发环境 - 构建包含租户号的私钥路径 - String tenantCertPath = "dev/wechat/" + tenantId; + // 开发环境 - 使用配置文件的upload-path构建证书路径 + String uploadPath = conf.getUploadPath(); + String tenantCertPath = uploadPath + "dev/wechat/" + tenantId; String privateKeyPath = tenantCertPath + "/" + certConfig.getWechatPay().getDev().getPrivateKeyFile(); logger.info("开发环境异步通知证书路径: {}", privateKeyPath); diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java index 2921a5c..fb062e1 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java @@ -304,8 +304,9 @@ import com.gxwebsoft.common.core.service.PaymentCacheService; // 开发环境配置 - 使用自动证书配置 if (active.equals("dev")) { - // 构建包含租户号的证书路径: dev/wechat/{tenantId}/ - String tenantCertPath = "dev/wechat/" + order.getTenantId(); + // 开发环境 - 使用配置文件的upload-path构建证书路径 + String uploadPath = config.getUploadPath(); + String tenantCertPath = uploadPath + "dev/wechat/" + order.getTenantId(); String privateKeyPath = tenantCertPath + "/" + certConfig.getWechatPay().getDev().getPrivateKeyFile(); System.out.println("开发环境证书路径 - 租户ID: " + order.getTenantId()); @@ -395,8 +396,9 @@ import com.gxwebsoft.common.core.service.PaymentCacheService; payment.getPubKeyId() != null && !payment.getPubKeyId().isEmpty()) { try { - // 开发环境固定使用 wechatpay_public_key.pem - String tenantCertPath = "dev/wechat/" + order.getTenantId(); + // 开发环境使用配置文件的upload-path构建公钥路径 + String uploadPath = config.getUploadPath(); + String tenantCertPath = uploadPath + "dev/wechat/" + order.getTenantId(); String pubKeyPath = tenantCertPath + "/wechatpay_public_key.pem"; System.out.println("开发环境公钥文件路径: " + pubKeyPath); @@ -470,7 +472,8 @@ import com.gxwebsoft.common.core.service.PaymentCacheService; System.err.println("⚠️ 开发环境回退到基础RSA配置..."); try { // 方案1:尝试使用RSA证书配置(需要商户证书文件) - String tenantCertPath = "dev/wechat/" + order.getTenantId(); + String uploadPath = config.getUploadPath(); + String tenantCertPath = uploadPath + "dev/wechat/" + order.getTenantId(); String apiclientCertPath = tenantCertPath + "/" + certConfig.getWechatPay().getDev().getApiclientCertFile(); if (certificateLoader.certificateExists(apiclientCertPath)) { diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index cf20733..b44c864 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -46,7 +46,7 @@ mqtt: config: # 开发环境接口 server-url: https://server.websoft.top/api - upload-path: /Users/gxwebsoft/Documents/uploads/ # window(D:\Temp) + upload-path: /Users/gxwebsoft/JAVA/mp-java/src/main/resources/ # window(D:\Temp) # 开发环境证书配置 certificate: