Skip to content

Commit 52c33e2

Browse files
authored
🐛【企业微信】修复第三方应用的两个bug
1 parent f002311 commit 52c33e2

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpMessage.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ public class WxCpMessage implements Serializable {
5252
* enable_id_trans
5353
* 表示是否开启id转译,0表示否,1表示是,默认0
5454
*/
55-
private Boolean enableIdTrans;
55+
private Boolean enableIdTrans = false;
5656
/**
5757
* enable_duplicate_check
5858
* 表示是否开启重复消息检查,0表示否,1表示是,默认0
5959
*/
60-
private Boolean enableDuplicateCheck;
60+
private Boolean enableDuplicateCheck = false;
6161
/**
6262
* duplicate_check_interval
6363
* 表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpDefaultConfigImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,13 +244,15 @@ public WxAccessToken getAccessTokenEntity(String authCorpId) {
244244
Long expire = authCorpAccessTokenExpireTimeMap.getOrDefault(authCorpId, 0L);
245245
WxAccessToken accessTokenEntity = new WxAccessToken();
246246
accessTokenEntity.setAccessToken(accessToken);
247-
accessTokenEntity.setExpiresIn(Math.toIntExact(expire));
247+
accessTokenEntity.setExpiresIn((int)((expire - System.currentTimeMillis()) / 1000 + 200));
248248
return accessTokenEntity;
249249
}
250250

251251
@Override
252252
public boolean isAccessTokenExpired(String authCorpId) {
253-
return System.currentTimeMillis() > authCorpAccessTokenExpireTimeMap.get(authCorpId);
253+
//不存在或者过期
254+
return authCorpAccessTokenExpireTimeMap.get(authCorpId) == null
255+
|| System.currentTimeMillis() > authCorpAccessTokenExpireTimeMap.get(authCorpId);
254256
}
255257

256258
@Override

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpRedissonConfigImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ public WxAccessToken getAccessTokenEntity(String authCorpId) {
220220

221221
WxAccessToken accessTokenEntity = new WxAccessToken();
222222
accessTokenEntity.setAccessToken(accessToken);
223-
accessTokenEntity.setExpiresIn(Math.max(Math.toIntExact(expire), 0));
223+
accessTokenEntity.setExpiresIn((int)((expire - System.currentTimeMillis()) / 1000 + 200));
224224
return accessTokenEntity;
225225
}
226226

0 commit comments

Comments
 (0)