| @@ -1,10 +1,13 @@ | |||||
| package me.chanjar.weixin.cp.api; | package me.chanjar.weixin.cp.api; | ||||
| import java.io.File; | |||||
| import org.apache.commons.lang3.builder.ToStringBuilder; | |||||
| import org.apache.commons.lang3.builder.ToStringStyle; | |||||
| import me.chanjar.weixin.common.bean.WxAccessToken; | import me.chanjar.weixin.common.bean.WxAccessToken; | ||||
| import me.chanjar.weixin.common.util.http.ApacheHttpClientBuilder; | import me.chanjar.weixin.common.util.http.ApacheHttpClientBuilder; | ||||
| import java.io.File; | |||||
| /** | /** | ||||
| * 基于内存的微信配置provider,在实际生产环境中应该将这些配置持久化 | * 基于内存的微信配置provider,在实际生产环境中应该将这些配置持久化 | ||||
| * | * | ||||
| @@ -35,6 +38,7 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| private volatile ApacheHttpClientBuilder apacheHttpClientBuilder; | private volatile ApacheHttpClientBuilder apacheHttpClientBuilder; | ||||
| @Override | |||||
| public String getAccessToken() { | public String getAccessToken() { | ||||
| return this.accessToken; | return this.accessToken; | ||||
| } | } | ||||
| @@ -43,18 +47,22 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| this.accessToken = accessToken; | this.accessToken = accessToken; | ||||
| } | } | ||||
| @Override | |||||
| public boolean isAccessTokenExpired() { | public boolean isAccessTokenExpired() { | ||||
| return System.currentTimeMillis() > this.expiresTime; | return System.currentTimeMillis() > this.expiresTime; | ||||
| } | } | ||||
| @Override | |||||
| public void expireAccessToken() { | public void expireAccessToken() { | ||||
| this.expiresTime = 0; | this.expiresTime = 0; | ||||
| } | } | ||||
| @Override | |||||
| public synchronized void updateAccessToken(WxAccessToken accessToken) { | public synchronized void updateAccessToken(WxAccessToken accessToken) { | ||||
| updateAccessToken(accessToken.getAccessToken(), accessToken.getExpiresIn()); | updateAccessToken(accessToken.getAccessToken(), accessToken.getExpiresIn()); | ||||
| } | } | ||||
| @Override | |||||
| public synchronized void updateAccessToken(String accessToken, int expiresInSeconds) { | public synchronized void updateAccessToken(String accessToken, int expiresInSeconds) { | ||||
| this.accessToken = accessToken; | this.accessToken = accessToken; | ||||
| this.expiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000l; | this.expiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000l; | ||||
| @@ -62,7 +70,7 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| @Override | @Override | ||||
| public String getJsapiTicket() { | public String getJsapiTicket() { | ||||
| return jsapiTicket; | |||||
| return this.jsapiTicket; | |||||
| } | } | ||||
| public void setJsapiTicket(String jsapiTicket) { | public void setJsapiTicket(String jsapiTicket) { | ||||
| @@ -70,27 +78,31 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| } | } | ||||
| public long getJsapiTicketExpiresTime() { | public long getJsapiTicketExpiresTime() { | ||||
| return jsapiTicketExpiresTime; | |||||
| return this.jsapiTicketExpiresTime; | |||||
| } | } | ||||
| public void setJsapiTicketExpiresTime(long jsapiTicketExpiresTime) { | public void setJsapiTicketExpiresTime(long jsapiTicketExpiresTime) { | ||||
| this.jsapiTicketExpiresTime = jsapiTicketExpiresTime; | this.jsapiTicketExpiresTime = jsapiTicketExpiresTime; | ||||
| } | } | ||||
| @Override | |||||
| public boolean isJsapiTicketExpired() { | public boolean isJsapiTicketExpired() { | ||||
| return System.currentTimeMillis() > this.jsapiTicketExpiresTime; | return System.currentTimeMillis() > this.jsapiTicketExpiresTime; | ||||
| } | } | ||||
| @Override | |||||
| public synchronized void updateJsapiTicket(String jsapiTicket, int expiresInSeconds) { | public synchronized void updateJsapiTicket(String jsapiTicket, int expiresInSeconds) { | ||||
| this.jsapiTicket = jsapiTicket; | this.jsapiTicket = jsapiTicket; | ||||
| // 预留200秒的时间 | // 预留200秒的时间 | ||||
| this.jsapiTicketExpiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000l; | this.jsapiTicketExpiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000l; | ||||
| } | } | ||||
| @Override | |||||
| public void expireJsapiTicket() { | public void expireJsapiTicket() { | ||||
| this.jsapiTicketExpiresTime = 0; | this.jsapiTicketExpiresTime = 0; | ||||
| } | } | ||||
| @Override | |||||
| public String getCorpId() { | public String getCorpId() { | ||||
| return this.corpId; | return this.corpId; | ||||
| } | } | ||||
| @@ -99,6 +111,7 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| this.corpId = corpId; | this.corpId = corpId; | ||||
| } | } | ||||
| @Override | |||||
| public String getCorpSecret() { | public String getCorpSecret() { | ||||
| return this.corpSecret; | return this.corpSecret; | ||||
| } | } | ||||
| @@ -107,6 +120,7 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| this.corpSecret = corpSecret; | this.corpSecret = corpSecret; | ||||
| } | } | ||||
| @Override | |||||
| public String getToken() { | public String getToken() { | ||||
| return this.token; | return this.token; | ||||
| } | } | ||||
| @@ -115,6 +129,7 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| this.token = token; | this.token = token; | ||||
| } | } | ||||
| @Override | |||||
| public long getExpiresTime() { | public long getExpiresTime() { | ||||
| return this.expiresTime; | return this.expiresTime; | ||||
| } | } | ||||
| @@ -123,16 +138,18 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| this.expiresTime = expiresTime; | this.expiresTime = expiresTime; | ||||
| } | } | ||||
| @Override | |||||
| public String getAesKey() { | public String getAesKey() { | ||||
| return aesKey; | |||||
| return this.aesKey; | |||||
| } | } | ||||
| public void setAesKey(String aesKey) { | public void setAesKey(String aesKey) { | ||||
| this.aesKey = aesKey; | this.aesKey = aesKey; | ||||
| } | } | ||||
| @Override | |||||
| public String getAgentId() { | public String getAgentId() { | ||||
| return agentId; | |||||
| return this.agentId; | |||||
| } | } | ||||
| public void setAgentId(String agentId) { | public void setAgentId(String agentId) { | ||||
| @@ -148,32 +165,36 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| this.oauth2redirectUri = oauth2redirectUri; | this.oauth2redirectUri = oauth2redirectUri; | ||||
| } | } | ||||
| @Override | |||||
| public String getHttp_proxy_host() { | public String getHttp_proxy_host() { | ||||
| return http_proxy_host; | |||||
| return this.http_proxy_host; | |||||
| } | } | ||||
| public void setHttp_proxy_host(String http_proxy_host) { | public void setHttp_proxy_host(String http_proxy_host) { | ||||
| this.http_proxy_host = http_proxy_host; | this.http_proxy_host = http_proxy_host; | ||||
| } | } | ||||
| @Override | |||||
| public int getHttp_proxy_port() { | public int getHttp_proxy_port() { | ||||
| return http_proxy_port; | |||||
| return this.http_proxy_port; | |||||
| } | } | ||||
| public void setHttp_proxy_port(int http_proxy_port) { | public void setHttp_proxy_port(int http_proxy_port) { | ||||
| this.http_proxy_port = http_proxy_port; | this.http_proxy_port = http_proxy_port; | ||||
| } | } | ||||
| @Override | |||||
| public String getHttp_proxy_username() { | public String getHttp_proxy_username() { | ||||
| return http_proxy_username; | |||||
| return this.http_proxy_username; | |||||
| } | } | ||||
| public void setHttp_proxy_username(String http_proxy_username) { | public void setHttp_proxy_username(String http_proxy_username) { | ||||
| this.http_proxy_username = http_proxy_username; | this.http_proxy_username = http_proxy_username; | ||||
| } | } | ||||
| @Override | |||||
| public String getHttp_proxy_password() { | public String getHttp_proxy_password() { | ||||
| return http_proxy_password; | |||||
| return this.http_proxy_password; | |||||
| } | } | ||||
| public void setHttp_proxy_password(String http_proxy_password) { | public void setHttp_proxy_password(String http_proxy_password) { | ||||
| @@ -182,26 +203,12 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage { | |||||
| @Override | @Override | ||||
| public String toString() { | public String toString() { | ||||
| return "WxCpInMemoryConfigStorage{" + | |||||
| "corpId='" + corpId + '\'' + | |||||
| ", corpSecret='" + corpSecret + '\'' + | |||||
| ", token='" + token + '\'' + | |||||
| ", accessToken='" + accessToken + '\'' + | |||||
| ", aesKey='" + aesKey + '\'' + | |||||
| ", agentId='" + agentId + '\'' + | |||||
| ", expiresTime=" + expiresTime + | |||||
| ", http_proxy_host='" + http_proxy_host + '\'' + | |||||
| ", http_proxy_port=" + http_proxy_port + | |||||
| ", http_proxy_username='" + http_proxy_username + '\'' + | |||||
| ", http_proxy_password='" + http_proxy_password + '\'' + | |||||
| ", jsapiTicket='" + jsapiTicket + '\'' + | |||||
| ", jsapiTicketExpiresTime='" + jsapiTicketExpiresTime + '\'' + | |||||
| ", tmpDirFile='" + tmpDirFile + '\'' + | |||||
| '}'; | |||||
| return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE); | |||||
| } | } | ||||
| @Override | |||||
| public File getTmpDirFile() { | public File getTmpDirFile() { | ||||
| return tmpDirFile; | |||||
| return this.tmpDirFile; | |||||
| } | } | ||||
| public void setTmpDirFile(File tmpDirFile) { | public void setTmpDirFile(File tmpDirFile) { | ||||