Browse Source

WxMpInMemoryConfigStorage新增cardApiTicket的存储

master
YuJian 9 years ago
parent
commit
980ad0b7bf
2 changed files with 41 additions and 0 deletions
  1. +15
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpConfigStorage.java
  2. +26
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpInMemoryConfigStorage.java

+ 15
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpConfigStorage.java View File

@@ -50,6 +50,21 @@ public interface WxMpConfigStorage {
*/ */
public void updateJsapiTicket(String jsapiTicket, int expiresInSeconds); public void updateJsapiTicket(String jsapiTicket, int expiresInSeconds);


public String getCardApiTicket();

public boolean isCardApiTicketExpired();

/**
* 强制将卡券api ticket过期掉
*/
public void expireCardApiTicket();

/**
* 应该是线程安全的
* @param cardApiTicket
*/
public void updateCardApiTicket(String cardApiTicket, int expiresInSeconds);

public String getAppId(); public String getAppId();


public String getSecret(); public String getSecret();


+ 26
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpInMemoryConfigStorage.java View File

@@ -32,6 +32,9 @@ public class WxMpInMemoryConfigStorage implements WxMpConfigStorage {
protected volatile String jsapiTicket; protected volatile String jsapiTicket;
protected volatile long jsapiTicketExpiresTime; protected volatile long jsapiTicketExpiresTime;


protected volatile String cardApiTicket;
protected volatile long cardApiTicketExpiresTime;

/** /**
* 临时文件目录 * 临时文件目录
*/ */
@@ -90,6 +93,27 @@ public class WxMpInMemoryConfigStorage implements WxMpConfigStorage {
this.jsapiTicketExpiresTime = 0; this.jsapiTicketExpiresTime = 0;
} }


/**
* 卡券api_ticket
*/
public String getCardApiTicket() {
return cardApiTicket;
}

public boolean isCardApiTicketExpired() {
return System.currentTimeMillis() > this.cardApiTicketExpiresTime;
}

public synchronized void updateCardApiTicket(String cardApiTicket, int expiresInSeconds) {
this.cardApiTicket = cardApiTicket;
// 预留200秒的时间
this.cardApiTicketExpiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000l;
}

public void expireCardApiTicket() {
this.cardApiTicketExpiresTime = 0;
}

public String getAppId() { public String getAppId() {
return this.appId; return this.appId;
} }
@@ -192,6 +216,8 @@ public class WxMpInMemoryConfigStorage implements WxMpConfigStorage {
", http_proxy_password='" + http_proxy_password + '\'' + ", http_proxy_password='" + http_proxy_password + '\'' +
", jsapiTicket='" + jsapiTicket + '\'' + ", jsapiTicket='" + jsapiTicket + '\'' +
", jsapiTicketExpiresTime='" + jsapiTicketExpiresTime + '\'' + ", jsapiTicketExpiresTime='" + jsapiTicketExpiresTime + '\'' +
", cardApiTicket='" + cardApiTicket + '\'' +
", cardApiTicketExpiresTime='" + cardApiTicketExpiresTime + '\'' +
", tmpDirFile='" + tmpDirFile + '\'' + ", tmpDirFile='" + tmpDirFile + '\'' +
'}'; '}';
} }


Loading…
Cancel
Save