From b37d397fc6eb8ecd50dc9197ff637c9859cabdd4 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, 27 Jul 2025 00:12:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0jdk17?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 4 +- pom.xml | 8 ++- scripts/WechatAutoTest.java | 55 +++++++++++++++++++ .../common/core/security/SecurityConfig.java | 3 +- .../com/gxwebsoft/oa/param/OaAppParam.java | 4 ++ 5 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 scripts/WechatAutoTest.java diff --git a/Dockerfile b/Dockerfile index 6241920..65ed22b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -# 使用OpenJDK 8作为基础镜像 -FROM openjdk:8-jre-alpine +# 使用OpenJDK 17作为基础镜像 +FROM openjdk:17-jre-alpine # 设置工作目录 WORKDIR /app diff --git a/pom.xml b/pom.xml index ddae36c..3bca112 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,9 @@ - 1.8 + 17 + 17 + 17 UTF-8 UTF-8 @@ -340,8 +342,8 @@ org.apache.maven.plugins maven-compiler-plugin - 16 - 16 + 17 + 17 diff --git a/scripts/WechatAutoTest.java b/scripts/WechatAutoTest.java new file mode 100644 index 0000000..cec8464 --- /dev/null +++ b/scripts/WechatAutoTest.java @@ -0,0 +1,55 @@ +package com.gxwebsoft; + +import com.wechat.pay.java.core.Config; +import com.wechat.pay.java.core.RSAAutoCertificateConfig; + +public class WechatAutoTest { + public static void main(String[] args) { + String merchantId = args[0]; + String privateKeyPath = args[1]; + String serialNumber = args[2]; + String apiV3Key = args[3]; + + try { + System.out.println("🔧 正在创建 RSAAutoCertificateConfig..."); + + Config config = new RSAAutoCertificateConfig.Builder() + .merchantId(merchantId) + .privateKeyFromPath(privateKeyPath) + .merchantSerialNumber(serialNumber) + .apiV3Key(apiV3Key) + .build(); + + System.out.println("✅ 微信支付证书配置成功!"); + System.out.println(""); + System.out.println("📋 配置信息:"); + System.out.println(" 商户号: " + merchantId); + System.out.println(" 证书序列号: " + serialNumber); + System.out.println(" 私钥路径: " + privateKeyPath); + System.out.println(""); + System.out.println("🎉 RSAAutoCertificateConfig 已成功初始化"); + System.out.println("📥 系统将自动下载微信支付平台证书"); + System.out.println("🔄 证书过期时将自动更新"); + System.out.println("🚫 无需手动下载 wechatpay_cert.pem"); + System.out.println(""); + System.out.println("✨ 您的微信支付证书配置已完成!"); + + } catch (Exception e) { + System.err.println("❌ 证书配置失败: " + e.getMessage()); + System.err.println(""); + System.err.println("🔍 可能的原因:"); + System.err.println("1. 商户平台未开启API安全功能"); + System.err.println("2. APIv3密钥不正确"); + System.err.println("3. 证书序列号不匹配"); + System.err.println("4. 网络连接问题"); + System.err.println(""); + System.err.println("💡 解决方案:"); + System.err.println("1. 登录微信商户平台 -> 账户中心 -> API安全"); + System.err.println("2. 确认已申请使用微信支付公钥"); + System.err.println("3. 检查APIv3密钥和证书序列号"); + + e.printStackTrace(); + System.exit(1); + } + } +} diff --git a/src/main/java/com/gxwebsoft/common/core/security/SecurityConfig.java b/src/main/java/com/gxwebsoft/common/core/security/SecurityConfig.java index 0626cd3..63b9c19 100644 --- a/src/main/java/com/gxwebsoft/common/core/security/SecurityConfig.java +++ b/src/main/java/com/gxwebsoft/common/core/security/SecurityConfig.java @@ -79,7 +79,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { "/api/system/user-referee/getRefereeNumByUidList", "/api/system/setting/getByKey/**", "/api/system/setting/updateByKey/**", - "/lvQ4EoivKJ.txt" + "/lvQ4EoivKJ.txt", + "/api/wechat-cert-test" ) .permitAll() .anyRequest() diff --git a/src/main/java/com/gxwebsoft/oa/param/OaAppParam.java b/src/main/java/com/gxwebsoft/oa/param/OaAppParam.java index ba85ee6..a34c3f8 100644 --- a/src/main/java/com/gxwebsoft/oa/param/OaAppParam.java +++ b/src/main/java/com/gxwebsoft/oa/param/OaAppParam.java @@ -243,4 +243,8 @@ public class OaAppParam extends BaseParam { @TableField(exist = false) private Set appIds; + @ApiModelProperty(value = "访问令牌") + @TableField(exist = false) + private String token; + }