瀏覽代碼

完善ticket相关代码,完成#844遗留问题

master
Binary Wang 6 年之前
父節點
當前提交
c590e54c07
共有 2 個檔案被更改,包括 68 行新增9 行删除
  1. +8
    -5
      weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java
  2. +60
    -4
      weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java

+ 8
- 5
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);


+ 60
- 4
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);


Loading…
取消
儲存