Skip to content

Commit 15f5d88

Browse files
committed
fix: 完善长整型应用ID链路
1 parent 5c1018e commit 15f5d88

10 files changed

Lines changed: 56 additions & 44 deletions

File tree

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpAgent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class WxCpAgent implements Serializable {
3232
private String errMsg;
3333

3434
@SerializedName("agentid")
35-
private Integer agentId;
35+
private Long agentId;
3636

3737
@SerializedName("name")
3838
private String name;

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/corpgroup/WxCpCorpGroupCorpGetTokenReq.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ public class WxCpCorpGroupCorpGetTokenReq implements Serializable {
1717
@SerializedName("business_type")
1818
private int businessType;
1919
@SerializedName("agentid")
20-
private int agentId;
20+
private long agentId;
2121
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ public class WxCpLinkedCorpMessage implements Serializable {
6060
public void setAgentId(long agentId) {
6161
this.agentId = Long.valueOf(agentId);
6262
}
63+
64+
public void setAgentId(Long agentId) {
65+
this.agentId = agentId;
66+
}
6367
private String msgType;
6468
/**
6569
* 消息内容,最长不超过2048个字节

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ public class WxCpMessage implements Serializable {
5050
public void setAgentId(long agentId) {
5151
this.agentId = Long.valueOf(agentId);
5252
}
53+
54+
public void setAgentId(Long agentId) {
55+
this.agentId = agentId;
56+
}
5357
/**
5458
* 消息类型
5559
* 文本消息: text

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ public void setAgentId(long agentId) {
8080
this.agentId = Long.valueOf(agentId);
8181
}
8282

83+
public void setAgentId(Long agentId) {
84+
this.agentId = agentId;
85+
}
86+
8387
/**
8488
* 消息内容,最长不超过2048个字节(支持id转译)
8589
*/

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpCorpGroupConfigStorage.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public interface WxCpCorpGroupConfigStorage {
3636
* @param corpAccessToken the corp access token
3737
* @param expiresInSeconds the expires in seconds
3838
*/
39-
void updateCorpAccessToken(String corpId, Integer agentId, String corpAccessToken, int expiresInSeconds);
39+
void updateCorpAccessToken(String corpId, Long agentId, String corpAccessToken, int expiresInSeconds);
4040

4141
/**
4242
* 授权企业的access token相关
@@ -45,7 +45,7 @@ public interface WxCpCorpGroupConfigStorage {
4545
* @param agentId 应用ID
4646
* @return the access token
4747
*/
48-
String getCorpAccessToken(String corpId, Integer agentId);
48+
String getCorpAccessToken(String corpId, Long agentId);
4949

5050
/**
5151
* Gets access token entity.
@@ -54,7 +54,7 @@ public interface WxCpCorpGroupConfigStorage {
5454
* @param agentId 应用ID
5555
* @return the access token entity
5656
*/
57-
WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId);
57+
WxAccessToken getCorpAccessTokenEntity(String corpId, Long agentId);
5858

5959
/**
6060
* Is access token expired boolean.
@@ -63,15 +63,15 @@ public interface WxCpCorpGroupConfigStorage {
6363
* @param agentId 应用ID
6464
* @return the boolean
6565
*/
66-
boolean isCorpAccessTokenExpired(String corpId, Integer agentId);
66+
boolean isCorpAccessTokenExpired(String corpId, Long agentId);
6767

6868
/**
6969
* Expire access token.
7070
*
7171
* @param corpId 企业ID
7272
* @param agentId 应用ID
7373
*/
74-
void expireCorpAccessToken(String corpId, Integer agentId);
74+
void expireCorpAccessToken(String corpId, Long agentId);
7575

7676
/**
7777
* 网络代理相关
@@ -122,11 +122,11 @@ public interface WxCpCorpGroupConfigStorage {
122122
* @param agentId 应用ID
123123
* @return the access token lock
124124
*/
125-
Lock getCorpAccessTokenLock(String corpId, Integer agentId);
125+
Lock getCorpAccessTokenLock(String corpId, Long agentId);
126126

127127
void setCorpId(String corpId);
128128

129-
void setAgentId(Integer agentId);
129+
void setAgentId(Long agentId);
130130

131131
/**
132132
* Gets corp id.
@@ -140,5 +140,5 @@ public interface WxCpCorpGroupConfigStorage {
140140
*
141141
* @return the agent id
142142
*/
143-
Integer getAgentId();
143+
Long getAgentId();
144144
}

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class WxCpCorpGroupDefaultConfigImpl implements WxCpCorpGroupConfigStorag
3939
/**
4040
* 微信企业号应用 ID
4141
*/
42-
private volatile Integer agentId;
42+
private volatile Long agentId;
4343

4444
@Override
4545
public void setBaseApiUrl(String baseUrl) {
@@ -65,30 +65,30 @@ public void setCorpId(String corpId) {
6565
}
6666

6767
@Override
68-
public Integer getAgentId() {
68+
public Long getAgentId() {
6969
return agentId;
7070
}
7171

7272
@Override
73-
public void setAgentId(Integer agentId) {
73+
public void setAgentId(Long agentId) {
7474
this.agentId = agentId;
7575
}
7676

7777
@Override
78-
public void updateCorpAccessToken(String corpId, Integer agentId, String corpAccessToken, int expiresInSeconds) {
78+
public void updateCorpAccessToken(String corpId, Long agentId, String corpAccessToken, int expiresInSeconds) {
7979
String key = generateAccessTokenKey(corpId, agentId);
8080
corpAccessTokenMap.put(key, corpAccessToken);
8181
//预留200秒的时间
8282
corpAccessTokenExpireTimeMap.put(key, System.currentTimeMillis() + (expiresInSeconds - 200) * 1000L);
8383
}
8484

8585
@Override
86-
public String getCorpAccessToken(String corpId, Integer agentId) {
86+
public String getCorpAccessToken(String corpId, Long agentId) {
8787
return this.corpAccessTokenMap.get(generateAccessTokenKey(corpId, agentId));
8888
}
8989

9090
@Override
91-
public WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId) {
91+
public WxAccessToken getCorpAccessTokenEntity(String corpId, Long agentId) {
9292
String key = generateAccessTokenKey(corpId, agentId);
9393
String accessToken = corpAccessTokenMap.getOrDefault(key, StringUtils.EMPTY);
9494
Long expire = corpAccessTokenExpireTimeMap.getOrDefault(key, 0L);
@@ -99,15 +99,15 @@ public WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId) {
9999
}
100100

101101
@Override
102-
public boolean isCorpAccessTokenExpired(String corpId, Integer agentId) {
102+
public boolean isCorpAccessTokenExpired(String corpId, Long agentId) {
103103
//不存在或者过期
104104
String key = generateAccessTokenKey(corpId, agentId);
105105
return corpAccessTokenExpireTimeMap.get(key) == null
106106
|| System.currentTimeMillis() > corpAccessTokenExpireTimeMap.get(key);
107107
}
108108

109109
@Override
110-
public void expireCorpAccessToken(String corpId, Integer agentId) {
110+
public void expireCorpAccessToken(String corpId, Long agentId) {
111111
String key = generateAccessTokenKey(corpId, agentId);
112112
corpAccessTokenMap.remove(key);
113113
corpAccessTokenExpireTimeMap.remove(key);
@@ -189,12 +189,12 @@ public boolean autoRefreshToken() {
189189
}
190190

191191
@Override
192-
public Lock getCorpAccessTokenLock(String corpId, Integer agentId) {
192+
public Lock getCorpAccessTokenLock(String corpId, Long agentId) {
193193
return this.corpAccessTokenLocker
194194
.computeIfAbsent(generateAccessTokenKey(corpId, agentId), key -> new ReentrantLock());
195195
}
196196

197-
private String generateAccessTokenKey(String corpId, Integer agentId) {
197+
private String generateAccessTokenKey(String corpId, Long agentId) {
198198
return String.join(":", this.corpId, String.valueOf(this.agentId), corpId, String.valueOf(agentId));
199199
}
200200
}

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public class WxCpCorpGroupRedissonConfigImpl implements WxCpCorpGroupConfigStora
6060
/**
6161
* 微信企业号应用 ID
6262
*/
63-
private volatile Integer agentId;
63+
private volatile Long agentId;
6464

6565
@Override
6666
public void setBaseApiUrl(String baseUrl) {
@@ -86,27 +86,27 @@ public void setCorpId(String corpId) {
8686
}
8787

8888
@Override
89-
public Integer getAgentId() {
89+
public Long getAgentId() {
9090
return agentId;
9191
}
9292

9393
@Override
94-
public void setAgentId(Integer agentId) {
94+
public void setAgentId(Long agentId) {
9595
this.agentId = agentId;
9696
}
9797

9898
@Override
99-
public void updateCorpAccessToken(String corpId, Integer agentId, String corpAccessToken, int expiresInSeconds) {
99+
public void updateCorpAccessToken(String corpId, Long agentId, String corpAccessToken, int expiresInSeconds) {
100100
wxRedisOps.setValue(generateAccessTokenKey(corpId, agentId), corpAccessToken, expiresInSeconds, TimeUnit.SECONDS);
101101
}
102102

103103
@Override
104-
public String getCorpAccessToken(String corpId, Integer agentId) {
104+
public String getCorpAccessToken(String corpId, Long agentId) {
105105
return wxRedisOps.getValue(generateAccessTokenKey(corpId, agentId));
106106
}
107107

108108
@Override
109-
public WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId) {
109+
public WxAccessToken getCorpAccessTokenEntity(String corpId, Long agentId) {
110110
String key = generateAccessTokenKey(corpId, agentId);
111111
String accessToken = wxRedisOps.getValue(key);
112112
Long expire = wxRedisOps.getExpire(key);
@@ -120,13 +120,13 @@ public WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId) {
120120
}
121121

122122
@Override
123-
public boolean isCorpAccessTokenExpired(String corpId, Integer agentId) {
123+
public boolean isCorpAccessTokenExpired(String corpId, Long agentId) {
124124
String key = generateAccessTokenKey(corpId, agentId);
125125
return wxRedisOps.getExpire(key) == 0L || wxRedisOps.getExpire(key) == -2;
126126
}
127127

128128
@Override
129-
public void expireCorpAccessToken(String corpId, Integer agentId) {
129+
public void expireCorpAccessToken(String corpId, Long agentId) {
130130
wxRedisOps.expire(generateAccessTokenKey(corpId, agentId), 0, TimeUnit.SECONDS);
131131
}
132132

@@ -206,11 +206,11 @@ public boolean autoRefreshToken() {
206206
}
207207

208208
@Override
209-
public Lock getCorpAccessTokenLock(String corpId, Integer agentId) {
209+
public Lock getCorpAccessTokenLock(String corpId, Long agentId) {
210210
return this.getLockByKey(String.join(":", corpId, String.valueOf(agentId), LOCKER_CORP_ACCESS_TOKEN));
211211
}
212212

213-
private String generateAccessTokenKey(String corpId, Integer agentId) {
213+
private String generateAccessTokenKey(String corpId, Long agentId) {
214214
return String.join(":", keyPrefix, CG_ACCESS_TOKEN_KEY, corpId, String.valueOf(agentId));
215215
}
216216

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/corpgroup/service/WxCpCgService.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ public interface WxCpCgService {
2424
* @param corpAccessToken the corp access token
2525
* @param expiresInSeconds the expires in seconds
2626
*/
27-
void updateCorpAccessToken(String corpId, Integer agentId, String corpAccessToken, int expiresInSeconds);
27+
void updateCorpAccessToken(String corpId, Long agentId, String corpAccessToken, int expiresInSeconds);
2828

29-
String getCorpAccessToken(String corpId, Integer agentId, Integer businessType) throws WxErrorException;
29+
String getCorpAccessToken(String corpId, Long agentId, Integer businessType) throws WxErrorException;
3030

31-
String getCorpAccessToken(String corpId, Integer agentId, Integer businessType, boolean forceRefresh) throws WxErrorException;
31+
String getCorpAccessToken(String corpId, Long agentId, Integer businessType, boolean forceRefresh) throws WxErrorException;
3232

3333
/**
3434
* 授权企业的access token相关
@@ -39,7 +39,7 @@ public interface WxCpCgService {
3939
* @return the access token
4040
* @throws WxErrorException 微信错误异常
4141
*/
42-
WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId, Integer businessType) throws WxErrorException;
42+
WxAccessToken getCorpAccessTokenEntity(String corpId, Long agentId, Integer businessType) throws WxErrorException;
4343

4444
/**
4545
* Gets access token entity.
@@ -51,7 +51,7 @@ public interface WxCpCgService {
5151
* @return the access token entity
5252
* @throws WxErrorException 微信错误异常
5353
*/
54-
WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId, Integer businessType, boolean forceRefresh) throws WxErrorException;
54+
WxAccessToken getCorpAccessTokenEntity(String corpId, Long agentId, Integer businessType, boolean forceRefresh) throws WxErrorException;
5555

5656
/**
5757
* Is access token expired boolean.
@@ -60,15 +60,15 @@ public interface WxCpCgService {
6060
* @param agentId 应用ID
6161
* @return the boolean
6262
*/
63-
boolean isCorpAccessTokenExpired(String corpId, Integer agentId);
63+
boolean isCorpAccessTokenExpired(String corpId, Long agentId);
6464

6565
/**
6666
* Expire access token.
6767
*
6868
* @param corpId 企业ID
6969
* @param agentId 应用ID
7070
*/
71-
void expireCorpAccessToken(String corpId, Integer agentId);
71+
void expireCorpAccessToken(String corpId, Long agentId);
7272

7373
/**
7474
* 当本Service没有实现某个API的时候,可以用这个,针对所有微信API中的GET请求.

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/corpgroup/service/impl/BaseWxCpCgServiceImpl.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,17 @@ public abstract class BaseWxCpCgServiceImpl<H, P> implements WxCpCgService, Requ
4343
private final WxCpLinkedCorpService linkedCorpService = new WxCpLinkedCorpServiceImpl(this);
4444

4545
@Override
46-
public void updateCorpAccessToken(String corpId, Integer agentId, String corpAccessToken, int expiresInSeconds) {
46+
public void updateCorpAccessToken(String corpId, Long agentId, String corpAccessToken, int expiresInSeconds) {
4747

4848
}
4949

5050
@Override
51-
public String getCorpAccessToken(String corpId, Integer agentId, Integer businessType) throws WxErrorException {
51+
public String getCorpAccessToken(String corpId, Long agentId, Integer businessType) throws WxErrorException {
5252
return getCorpAccessToken(corpId, agentId, businessType, false);
5353
}
5454

5555
@Override
56-
public String getCorpAccessToken(String corpId, Integer agentId, Integer businessType, boolean forceRefresh) throws WxErrorException {
56+
public String getCorpAccessToken(String corpId, Long agentId, Integer businessType, boolean forceRefresh) throws WxErrorException {
5757
if (!this.configStorage.isCorpAccessTokenExpired(corpId, agentId) && !forceRefresh) {
5858
return this.configStorage.getCorpAccessToken(corpId, agentId);
5959
}
@@ -71,23 +71,23 @@ public String getCorpAccessToken(String corpId, Integer agentId, Integer busines
7171
}
7272

7373
@Override
74-
public WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId, Integer businessType) throws WxErrorException {
74+
public WxAccessToken getCorpAccessTokenEntity(String corpId, Long agentId, Integer businessType) throws WxErrorException {
7575
return this.getCorpAccessTokenEntity(corpId, agentId, businessType, false);
7676
}
7777

7878

7979
@Override
80-
public WxAccessToken getCorpAccessTokenEntity(String corpId, Integer agentId, Integer businessType, boolean forceRefresh) throws WxErrorException {
80+
public WxAccessToken getCorpAccessTokenEntity(String corpId, Long agentId, Integer businessType, boolean forceRefresh) throws WxErrorException {
8181
return this.configStorage.getCorpAccessTokenEntity(corpId, agentId);
8282
}
8383

8484
@Override
85-
public boolean isCorpAccessTokenExpired(String corpId, Integer agentId) {
85+
public boolean isCorpAccessTokenExpired(String corpId, Long agentId) {
8686
return this.configStorage.isCorpAccessTokenExpired(corpId, agentId);
8787
}
8888

8989
@Override
90-
public void expireCorpAccessToken(String corpId, Integer agentId) {
90+
public void expireCorpAccessToken(String corpId, Long agentId) {
9191
this.configStorage.expireCorpAccessToken(corpId, agentId);
9292
}
9393

0 commit comments

Comments
 (0)