From c590e54c07b8c67c6fb42a2b9c920c42ef7539d6 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Thu, 29 Nov 2018 20:46:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84ticket=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=AE=8C=E6=88=90#844=E9=81=97?= =?UTF-8?q?=E7=95=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wx/miniapp/config/WxMaConfig.java | 13 ++-- .../api/impl/WxOpenInMemoryConfigStorage.java | 64 +++++++++++++++++-- 2 files changed, 68 insertions(+), 9 deletions(-) diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java index 9a26890d..49a80cc4 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java @@ -1,10 +1,10 @@ package cn.binarywang.wx.miniapp.config; +import java.util.concurrent.locks.Lock; + import me.chanjar.weixin.common.bean.WxAccessToken; import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; -import java.util.concurrent.locks.Lock; - /** * 小程序配置 * @@ -57,6 +57,9 @@ public interface WxMaConfig { */ void updateJsapiTicket(String jsapiTicket, int expiresInSeconds); + /** + * 卡券api_ticket. + */ String getCardApiTicket(); Lock getCardApiTicketLock(); @@ -64,14 +67,14 @@ public interface WxMaConfig { boolean isCardApiTicketExpired(); /** - * 强制将卡券api ticket过期掉 + * 强制将卡券api ticket过期掉. */ void expireCardApiTicket(); /** - * 应该是线程安全的 + * 应该是线程安全的. * - * @param 卡券apiTicket 新的卡券api ticket值 + * @param apiTicket 新的卡券api ticket值 * @param expiresInSeconds 过期时间,以秒为单位 */ void updateCardApiTicket(String apiTicket, int expiresInSeconds); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java index 87cdd53e..570721f1 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java @@ -325,26 +325,85 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage { @Override public String getTicket(TicketType type) { + switch (type) { + case JSAPI: { + return wxOpenConfigStorage.getJsapiTicket(appId); + } + case WX_CARD: { + return wxOpenConfigStorage.getCardApiTicket(appId); + } + default: { + // do nothing + } + } return null; } @Override public Lock getTicketLock(TicketType type) { + switch (type) { + case JSAPI: { + return this.jsapiTicketLock; + } + case WX_CARD: { + return this.cardApiTicketLock; + } + default: { + // do nothing + } + } return null; } @Override public boolean isTicketExpired(TicketType type) { + switch (type) { + case JSAPI: { + return wxOpenConfigStorage.isJsapiTicketExpired(appId); + } + case WX_CARD: { + return wxOpenConfigStorage.isCardApiTicketExpired(appId); + } + default: { + // do nothing + } + } + return false; } @Override public void expireTicket(TicketType type) { - + switch (type) { + case JSAPI: { + wxOpenConfigStorage.expireJsapiTicket(appId); + break; + } + case WX_CARD: { + wxOpenConfigStorage.expireCardApiTicket(appId); + break; + } + default: { + // do nothing + } + } } @Override public void updateTicket(TicketType type, String ticket, int expiresInSeconds) { + switch (type) { + case JSAPI: { + wxOpenConfigStorage.updateJsapiTicket(appId, ticket, expiresInSeconds); + break; + } + case WX_CARD: { + wxOpenConfigStorage.updateCardApiTicket(appId, ticket, expiresInSeconds); + break; + } + default: { + // do nothing + } + } } @@ -383,9 +442,6 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage { wxOpenConfigStorage.expireJsapiTicket(appId); } - /** - * 卡券api_ticket - */ @Override public String getCardApiTicket() { return wxOpenConfigStorage.getCardApiTicket(appId);