From 48a22a0e606064810ec49ec2621342a958399d54 Mon Sep 17 00:00:00 2001 From: Alixhan <1609737773@qq.com> Date: Tue, 25 Oct 2022 17:01:50 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#2853=20=E3=80=90=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E3=80=91=E9=85=8D=E7=BD=AE=E7=B1=BB=E4=B8=AD?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BC=9A=E8=AF=9D=E5=AD=98=E6=A1=A3secret?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cp/api/impl/WxCpMsgAuditServiceImpl.java | 9 ++++++--- .../weixin/cp/config/WxCpConfigStorage.java | 6 ++++++ .../cp/config/impl/WxCpDefaultConfigImpl.java | 15 +++++++++++++++ .../cp/config/impl/WxCpRedisConfigImpl.java | 4 ++++ 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpMsgAuditServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpMsgAuditServiceImpl.java index 5f7cbf52a..d6cadbda7 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpMsgAuditServiceImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpMsgAuditServiceImpl.java @@ -78,9 +78,12 @@ public class WxCpMsgAuditServiceImpl implements WxCpMsgAuditService { Finance.loadingLibraries(osLib, prefixPath); long sdk = Finance.NewSdk(); - - long ret = Finance.Init(sdk, cpService.getWxCpConfigStorage().getCorpId(), - cpService.getWxCpConfigStorage().getCorpSecret()); + //因为会话存档单独有个secret,优先使用会话存档的secret + String msgAuditSecret = cpService.getWxCpConfigStorage().getMsgAuditSecret(); + if(StringUtils.isEmpty(msgAuditSecret)) { + msgAuditSecret = cpService.getWxCpConfigStorage().getCorpSecret(); + } + long ret = Finance.Init(sdk, cpService.getWxCpConfigStorage().getCorpId(),msgAuditSecret); if (ret != 0) { Finance.DestroySdk(sdk); throw new WxErrorException("init sdk err ret " + ret); diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpConfigStorage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpConfigStorage.java index 16608f9d2..36203aab1 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpConfigStorage.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpConfigStorage.java @@ -257,4 +257,10 @@ public interface WxCpConfigStorage { * @return key webhook key */ String getWebhookKey(); + + /** + * 获取会话存档的secret + * @return msg audit secret + */ + String getMsgAuditSecret(); } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpDefaultConfigImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpDefaultConfigImpl.java index 442e437cf..57647b371 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpDefaultConfigImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpDefaultConfigImpl.java @@ -46,6 +46,7 @@ public class WxCpDefaultConfigImpl implements WxCpConfigStorage, Serializable { /** * 会话存档私钥以及sdk路径 */ + private volatile String msgAuditSecret; private volatile String msgAuditPriKey; private volatile String msgAuditLibPath; private volatile String oauth2redirectUri; @@ -435,4 +436,18 @@ public class WxCpDefaultConfigImpl implements WxCpConfigStorage, Serializable { this.webhookKey = webhookKey; return this; } + + @Override + public String getMsgAuditSecret() { + return this.msgAuditSecret; + } + + /** + * 设置会话存档secret + * @param msgAuditSecret + */ + public WxCpDefaultConfigImpl setMsgAuditSecret(String msgAuditSecret) { + this.msgAuditSecret = msgAuditSecret; + return this; + } } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpRedisConfigImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpRedisConfigImpl.java index 53cc475ef..4225cff0a 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpRedisConfigImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpRedisConfigImpl.java @@ -466,4 +466,8 @@ public class WxCpRedisConfigImpl implements WxCpConfigStorage { return this.getWebhookKey(); } + @Override + public String getMsgAuditSecret() { + return null; + } }