Skip to content

Commit 980ad0b

Browse files
committed
WxMpInMemoryConfigStorage新增cardApiTicket的存储
1 parent 65c532e commit 980ad0b

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpConfigStorage.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,21 @@ public interface WxMpConfigStorage {
5050
*/
5151
public void updateJsapiTicket(String jsapiTicket, int expiresInSeconds);
5252

53+
public String getCardApiTicket();
54+
55+
public boolean isCardApiTicketExpired();
56+
57+
/**
58+
* 强制将卡券api ticket过期掉
59+
*/
60+
public void expireCardApiTicket();
61+
62+
/**
63+
* 应该是线程安全的
64+
* @param cardApiTicket
65+
*/
66+
public void updateCardApiTicket(String cardApiTicket, int expiresInSeconds);
67+
5368
public String getAppId();
5469

5570
public String getSecret();

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpInMemoryConfigStorage.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ public class WxMpInMemoryConfigStorage implements WxMpConfigStorage {
3232
protected volatile String jsapiTicket;
3333
protected volatile long jsapiTicketExpiresTime;
3434

35+
protected volatile String cardApiTicket;
36+
protected volatile long cardApiTicketExpiresTime;
37+
3538
/**
3639
* 临时文件目录
3740
*/
@@ -90,6 +93,27 @@ public void expireJsapiTicket() {
9093
this.jsapiTicketExpiresTime = 0;
9194
}
9295

96+
/**
97+
* 卡券api_ticket
98+
*/
99+
public String getCardApiTicket() {
100+
return cardApiTicket;
101+
}
102+
103+
public boolean isCardApiTicketExpired() {
104+
return System.currentTimeMillis() > this.cardApiTicketExpiresTime;
105+
}
106+
107+
public synchronized void updateCardApiTicket(String cardApiTicket, int expiresInSeconds) {
108+
this.cardApiTicket = cardApiTicket;
109+
// 预留200秒的时间
110+
this.cardApiTicketExpiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000l;
111+
}
112+
113+
public void expireCardApiTicket() {
114+
this.cardApiTicketExpiresTime = 0;
115+
}
116+
93117
public String getAppId() {
94118
return this.appId;
95119
}
@@ -192,6 +216,8 @@ public String toString() {
192216
", http_proxy_password='" + http_proxy_password + '\'' +
193217
", jsapiTicket='" + jsapiTicket + '\'' +
194218
", jsapiTicketExpiresTime='" + jsapiTicketExpiresTime + '\'' +
219+
", cardApiTicket='" + cardApiTicket + '\'' +
220+
", cardApiTicketExpiresTime='" + cardApiTicketExpiresTime + '\'' +
195221
", tmpDirFile='" + tmpDirFile + '\'' +
196222
'}';
197223
}

0 commit comments

Comments
 (0)