From 52c33e207cb546edf430562306e8f2bc950c14a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E8=BF=A2?= <282701107@qq.com> Date: Fri, 26 Feb 2021 11:50:38 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=E3=80=90=E4=BC=81=E4=B8=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E3=80=91=E4=BF=AE=E5=A4=8D=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E7=9A=84=E4=B8=A4=E4=B8=AAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/chanjar/weixin/cp/bean/message/WxCpMessage.java | 4 ++-- .../weixin/cp/config/impl/WxCpTpDefaultConfigImpl.java | 6 ++++-- .../weixin/cp/config/impl/WxCpTpRedissonConfigImpl.java | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpMessage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpMessage.java index 6a02ef1fd..244e7fed0 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpMessage.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpMessage.java @@ -52,12 +52,12 @@ public class WxCpMessage implements Serializable { * enable_id_trans * 表示是否开启id转译,0表示否,1表示是,默认0 */ - private Boolean enableIdTrans; + private Boolean enableIdTrans = false; /** * enable_duplicate_check * 表示是否开启重复消息检查,0表示否,1表示是,默认0 */ - private Boolean enableDuplicateCheck; + private Boolean enableDuplicateCheck = false; /** * duplicate_check_interval * 表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时 diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpDefaultConfigImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpDefaultConfigImpl.java index 0395c6ef9..d7ed173be 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpDefaultConfigImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpDefaultConfigImpl.java @@ -244,13 +244,15 @@ public class WxCpTpDefaultConfigImpl implements WxCpTpConfigStorage, Serializabl Long expire = authCorpAccessTokenExpireTimeMap.getOrDefault(authCorpId, 0L); WxAccessToken accessTokenEntity = new WxAccessToken(); accessTokenEntity.setAccessToken(accessToken); - accessTokenEntity.setExpiresIn(Math.toIntExact(expire)); + accessTokenEntity.setExpiresIn((int)((expire - System.currentTimeMillis()) / 1000 + 200)); return accessTokenEntity; } @Override public boolean isAccessTokenExpired(String authCorpId) { - return System.currentTimeMillis() > authCorpAccessTokenExpireTimeMap.get(authCorpId); + //不存在或者过期 + return authCorpAccessTokenExpireTimeMap.get(authCorpId) == null + || System.currentTimeMillis() > authCorpAccessTokenExpireTimeMap.get(authCorpId); } @Override diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpRedissonConfigImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpRedissonConfigImpl.java index 72a0784be..28997827b 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpRedissonConfigImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpRedissonConfigImpl.java @@ -220,7 +220,7 @@ public class WxCpTpRedissonConfigImpl implements WxCpTpConfigStorage, Serializab WxAccessToken accessTokenEntity = new WxAccessToken(); accessTokenEntity.setAccessToken(accessToken); - accessTokenEntity.setExpiresIn(Math.max(Math.toIntExact(expire), 0)); + accessTokenEntity.setExpiresIn((int)((expire - System.currentTimeMillis()) / 1000 + 200)); return accessTokenEntity; }