diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java
index bed6bae3..6e2aaef4 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java
@@ -95,7 +95,7 @@ public class WeixinRequestExecutor {
return doRequest(request);
}
- public WeixinResponse doRequest(HttpRequest request) throws WeixinException {
+ protected WeixinResponse doRequest(HttpRequest request) throws WeixinException {
request.setParams(params);
try {
logger.info("weixin request >> " + request.getMethod() + " "
diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/token/WeixinTicketCreator.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/token/WeixinTicketCreator.java
index bfb4ca03..59548205 100644
--- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/token/WeixinTicketCreator.java
+++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/token/WeixinTicketCreator.java
@@ -17,9 +17,9 @@ import com.foxinmy.weixin4j.type.TicketType;
* @author jy
* @date 2015年1月10日
* @since JDK 1.6
- * @see JS
- * TICKET
+ * @see
+ * JS TICKET
*/
public class WeixinTicketCreator implements TokenCreator {
@@ -38,8 +38,7 @@ public class WeixinTicketCreator implements TokenCreator {
* @param weixinTokenHolder
* 公众平台的access_token
*/
- public WeixinTicketCreator(String appid, TicketType ticketType,
- TokenHolder weixinTokenHolder) {
+ public WeixinTicketCreator(String appid, TicketType ticketType, TokenHolder weixinTokenHolder) {
this.appid = appid;
this.ticketType = ticketType;
this.weixinTokenHolder = weixinTokenHolder;
@@ -48,14 +47,13 @@ public class WeixinTicketCreator implements TokenCreator {
@Override
public String getCacheKey() {
- return String.format("weixin4j_mp_ticket_%s_%s", appid, ticketType.name());
+ return String.format("weixin4j_mp_ticket_%s_%s", ticketType.name(), appid);
}
@Override
public Token createToken() throws WeixinException {
- WeixinResponse response = weixinExecutor.get(String.format(
- URLConsts.TICKET_URL, weixinTokenHolder.getToken()
- .getAccessToken(), ticketType.name()));
+ WeixinResponse response = weixinExecutor.get(
+ String.format(URLConsts.TICKET_URL, weixinTokenHolder.getToken().getAccessToken(), ticketType.name()));
JSONObject result = response.getAsJson();
Token token = new Token(result.getString("ticket"));
token.setExpiresIn(result.getIntValue("expires_in"));
diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/SuitePerCodeHolder.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/SuitePerCodeHolder.java
index 92d400ab..6f1c43e0 100644
--- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/SuitePerCodeHolder.java
+++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/SuitePerCodeHolder.java
@@ -1,73 +1,73 @@
-package com.foxinmy.weixin4j.qy.suite;
-
-import com.foxinmy.weixin4j.exception.WeixinException;
-import com.foxinmy.weixin4j.model.Token;
-import com.foxinmy.weixin4j.token.TokenStorager;
-
-/**
- * 应用套件永久授权码的存取
- *
- * @className SuitePerCodeHolder
- * @author jy
- * @date 2015年6月22日
- * @since JDK 1.6
- * @see
- */
-public class SuitePerCodeHolder {
-
- private final String authCorpId;
- private final String suiteId;
- private final TokenStorager tokenStorager;
-
- public SuitePerCodeHolder(String authCorpId, String suiteId,
- TokenStorager tokenStorager) {
- this.authCorpId = authCorpId;
- this.suiteId = suiteId;
- this.tokenStorager = tokenStorager;
- }
-
- /**
- * 缓存永久授权码
- *
- * @param permanentCode
- * @throws WeixinException
- */
- public void cachingPermanentCode(String permanentCode)
- throws WeixinException {
- Token token = new Token(permanentCode);
- token.setExpiresIn(-1);
- tokenStorager.caching(getCacheKey(), token);
- }
-
- /**
- * 获取永久授权码的key
- *
- * @return
- */
- public String getCacheKey() {
- return String.format("weixin4j_qy_suite_percode_%s:%s", suiteId,
- authCorpId);
- }
-
- /**
- * 查找永久授权码
- *
- * @return
- * @throws WeixinException
- */
- public String getPermanentCode() throws WeixinException {
- return tokenStorager.lookup(getCacheKey()).getAccessToken();
- }
-
- public String getSuiteId() {
- return this.suiteId;
- }
-
- public String getAuthCorpId() {
- return this.authCorpId;
- }
-
- public TokenStorager getTokenStorager() {
- return this.tokenStorager;
- }
-}
+package com.foxinmy.weixin4j.qy.suite;
+
+import com.foxinmy.weixin4j.exception.WeixinException;
+import com.foxinmy.weixin4j.model.Token;
+import com.foxinmy.weixin4j.token.TokenStorager;
+
+/**
+ * 应用套件永久授权码的存取
+ *
+ * @className SuitePerCodeHolder
+ * @author jy
+ * @date 2015年6月22日
+ * @since JDK 1.6
+ * @see
+ */
+public class SuitePerCodeHolder {
+
+ private final String authCorpId;
+ private final String suiteId;
+ private final TokenStorager tokenStorager;
+
+ public SuitePerCodeHolder(String authCorpId, String suiteId,
+ TokenStorager tokenStorager) {
+ this.authCorpId = authCorpId;
+ this.suiteId = suiteId;
+ this.tokenStorager = tokenStorager;
+ }
+
+ /**
+ * 缓存永久授权码
+ *
+ * @param permanentCode
+ * @throws WeixinException
+ */
+ public void cachingPermanentCode(String permanentCode)
+ throws WeixinException {
+ Token token = new Token(permanentCode);
+ token.setExpiresIn(-1);
+ tokenStorager.caching(getCacheKey(), token);
+ }
+
+ /**
+ * 获取永久授权码的key
+ *
+ * @return
+ */
+ public String getCacheKey() {
+ return String.format("weixin4j_qy_suite_percode_%s_%s", suiteId,
+ authCorpId);
+ }
+
+ /**
+ * 查找永久授权码
+ *
+ * @return
+ * @throws WeixinException
+ */
+ public String getPermanentCode() throws WeixinException {
+ return tokenStorager.lookup(getCacheKey()).getAccessToken();
+ }
+
+ public String getSuiteId() {
+ return this.suiteId;
+ }
+
+ public String getAuthCorpId() {
+ return this.authCorpId;
+ }
+
+ public TokenStorager getTokenStorager() {
+ return this.tokenStorager;
+ }
+}
diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/SuiteTicketHolder.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/SuiteTicketHolder.java
index 4a89a04a..c9d73a3e 100644
--- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/SuiteTicketHolder.java
+++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/SuiteTicketHolder.java
@@ -1,71 +1,71 @@
-package com.foxinmy.weixin4j.qy.suite;
-
-import com.foxinmy.weixin4j.exception.WeixinException;
-import com.foxinmy.weixin4j.model.Token;
-import com.foxinmy.weixin4j.token.TokenStorager;
-
-/**
- * 应用套件ticket的存取
- *
- * @className SuiteTicketHolder
- * @author jy
- * @date 2015年6月22日
- * @since JDK 1.6
- * @see
- */
-public class SuiteTicketHolder {
-
- private final String suiteId;
- private final String suiteSecret;
- private final TokenStorager tokenStorager;
-
- public SuiteTicketHolder(String suiteId, String suiteSecret,
- TokenStorager tokenStorager) {
- this.suiteId = suiteId;
- this.suiteSecret = suiteSecret;
- this.tokenStorager = tokenStorager;
- }
-
- /**
- * 获取ticket
- *
- * @return
- * @throws WeixinException
- */
- public String getTicket() throws WeixinException {
- return tokenStorager.lookup(getCacheKey()).getAccessToken();
- }
-
- /**
- * 获取ticket的key
- *
- * @return
- */
- public String getCacheKey() {
- return String.format("qy_suite_ticket_%s", suiteId);
- }
-
- /**
- * 缓存ticket
- *
- * @param ticket
- * @throws WeixinException
- */
- public void cachingTicket(String ticket) throws WeixinException {
- Token token = new Token(ticket);
- token.setExpiresIn(-1);
- tokenStorager.caching(getCacheKey(), token);
- }
-
- public String getSuiteId() {
- return this.suiteId;
- }
-
- public String getSuiteSecret() {
- return this.suiteSecret;
- }
-
- public TokenStorager getTokenStorager() {
- return this.tokenStorager;
- }
-}
+package com.foxinmy.weixin4j.qy.suite;
+
+import com.foxinmy.weixin4j.exception.WeixinException;
+import com.foxinmy.weixin4j.model.Token;
+import com.foxinmy.weixin4j.token.TokenStorager;
+
+/**
+ * 应用套件ticket的存取
+ *
+ * @className SuiteTicketHolder
+ * @author jy
+ * @date 2015年6月22日
+ * @since JDK 1.6
+ * @see
+ */
+public class SuiteTicketHolder {
+
+ private final String suiteId;
+ private final String suiteSecret;
+ private final TokenStorager tokenStorager;
+
+ public SuiteTicketHolder(String suiteId, String suiteSecret,
+ TokenStorager tokenStorager) {
+ this.suiteId = suiteId;
+ this.suiteSecret = suiteSecret;
+ this.tokenStorager = tokenStorager;
+ }
+
+ /**
+ * 获取ticket
+ *
+ * @return
+ * @throws WeixinException
+ */
+ public String getTicket() throws WeixinException {
+ return tokenStorager.lookup(getCacheKey()).getAccessToken();
+ }
+
+ /**
+ * 获取ticket的key
+ *
+ * @return
+ */
+ public String getCacheKey() {
+ return String.format("weixin4j_qy_suite_ticket_%s", suiteId);
+ }
+
+ /**
+ * 缓存ticket
+ *
+ * @param ticket
+ * @throws WeixinException
+ */
+ public void cachingTicket(String ticket) throws WeixinException {
+ Token token = new Token(ticket);
+ token.setExpiresIn(-1);
+ tokenStorager.caching(getCacheKey(), token);
+ }
+
+ public String getSuiteId() {
+ return this.suiteId;
+ }
+
+ public String getSuiteSecret() {
+ return this.suiteSecret;
+ }
+
+ public TokenStorager getTokenStorager() {
+ return this.tokenStorager;
+ }
+}
diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/WeixinTokenSuiteCreator.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/WeixinTokenSuiteCreator.java
index f09928a3..4eab20c3 100644
--- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/WeixinTokenSuiteCreator.java
+++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/suite/WeixinTokenSuiteCreator.java
@@ -1,67 +1,67 @@
-package com.foxinmy.weixin4j.qy.suite;
-
-import com.alibaba.fastjson.JSONObject;
-import com.foxinmy.weixin4j.exception.WeixinException;
-import com.foxinmy.weixin4j.http.weixin.WeixinRequestExecutor;
-import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
-import com.foxinmy.weixin4j.model.Token;
-import com.foxinmy.weixin4j.qy.type.URLConsts;
-import com.foxinmy.weixin4j.token.TokenCreator;
-import com.foxinmy.weixin4j.token.TokenHolder;
-
-/**
- * 微信企业号token创建(永久授权码)
- *
- * @className WeixinTokenSuiteCreator
- * @author jy
- * @date 2015年6月17日
- * @since JDK 1.6
- * @see 获取企业号access_token
- * @see com.foxinmy.weixin4j.model.Token
- */
-public class WeixinTokenSuiteCreator implements TokenCreator {
-
- private final WeixinRequestExecutor weixinExecutor;
- private final SuitePerCodeHolder perCodeHolder;
- private final TokenHolder suiteTokenHolder;
-
- /**
- *
- * @param perCodeHolder
- * 第三方套件永久授权码
- * @param suiteTokenHolder
- * 第三方套件凭证token
- */
- public WeixinTokenSuiteCreator(SuitePerCodeHolder perCodeHolder,
- TokenHolder suiteTokenHolder) {
- this.perCodeHolder = perCodeHolder;
- this.suiteTokenHolder = suiteTokenHolder;
- this.weixinExecutor = new WeixinRequestExecutor();
- }
-
- @Override
- public String getCacheKey() {
- return String.format("weixin4j_qy_token_suite_%s:%s",
- perCodeHolder.getSuiteId(), perCodeHolder.getAuthCorpId()
-
- );
- }
-
- @Override
- public Token createToken() throws WeixinException {
- JSONObject obj = new JSONObject();
- obj.put("suite_id", perCodeHolder.getSuiteId());
- obj.put("auth_corpid", perCodeHolder.getAuthCorpId());
- obj.put("permanent_code", perCodeHolder.getPermanentCode());
- WeixinResponse response = weixinExecutor.post(
- String.format(URLConsts.TOKEN_SUITE_URL,
- suiteTokenHolder.getAccessToken()), obj.toJSONString());
- obj = response.getAsJson();
- Token token = new Token(obj.getString("access_token"));
- token.setExpiresIn(obj.getIntValue("expires_in"));
- token.setCreateTime(System.currentTimeMillis());
- token.setOriginalResult(response.getAsString());
- return token;
- }
-}
+package com.foxinmy.weixin4j.qy.suite;
+
+import com.alibaba.fastjson.JSONObject;
+import com.foxinmy.weixin4j.exception.WeixinException;
+import com.foxinmy.weixin4j.http.weixin.WeixinRequestExecutor;
+import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
+import com.foxinmy.weixin4j.model.Token;
+import com.foxinmy.weixin4j.qy.type.URLConsts;
+import com.foxinmy.weixin4j.token.TokenCreator;
+import com.foxinmy.weixin4j.token.TokenHolder;
+
+/**
+ * 微信企业号token创建(永久授权码)
+ *
+ * @className WeixinTokenSuiteCreator
+ * @author jy
+ * @date 2015年6月17日
+ * @since JDK 1.6
+ * @see 获取企业号access_token
+ * @see com.foxinmy.weixin4j.model.Token
+ */
+public class WeixinTokenSuiteCreator implements TokenCreator {
+
+ private final WeixinRequestExecutor weixinExecutor;
+ private final SuitePerCodeHolder perCodeHolder;
+ private final TokenHolder suiteTokenHolder;
+
+ /**
+ *
+ * @param perCodeHolder
+ * 第三方套件永久授权码
+ * @param suiteTokenHolder
+ * 第三方套件凭证token
+ */
+ public WeixinTokenSuiteCreator(SuitePerCodeHolder perCodeHolder,
+ TokenHolder suiteTokenHolder) {
+ this.perCodeHolder = perCodeHolder;
+ this.suiteTokenHolder = suiteTokenHolder;
+ this.weixinExecutor = new WeixinRequestExecutor();
+ }
+
+ @Override
+ public String getCacheKey() {
+ return String.format("weixin4j_qy_token_suite_%s_%s",
+ perCodeHolder.getSuiteId(), perCodeHolder.getAuthCorpId()
+
+ );
+ }
+
+ @Override
+ public Token createToken() throws WeixinException {
+ JSONObject obj = new JSONObject();
+ obj.put("suite_id", perCodeHolder.getSuiteId());
+ obj.put("auth_corpid", perCodeHolder.getAuthCorpId());
+ obj.put("permanent_code", perCodeHolder.getPermanentCode());
+ WeixinResponse response = weixinExecutor.post(
+ String.format(URLConsts.TOKEN_SUITE_URL,
+ suiteTokenHolder.getAccessToken()), obj.toJSONString());
+ obj = response.getAsJson();
+ Token token = new Token(obj.getString("access_token"));
+ token.setExpiresIn(obj.getIntValue("expires_in"));
+ token.setCreateTime(System.currentTimeMillis());
+ token.setOriginalResult(response.getAsString());
+ return token;
+ }
+}
diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/token/WeixinTicketCreator.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/token/WeixinTicketCreator.java
index beb4b69b..50838a1d 100644
--- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/token/WeixinTicketCreator.java
+++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/token/WeixinTicketCreator.java
@@ -1,70 +1,67 @@
-package com.foxinmy.weixin4j.qy.token;
-
-import com.alibaba.fastjson.JSONObject;
-import com.foxinmy.weixin4j.exception.WeixinException;
-import com.foxinmy.weixin4j.http.weixin.WeixinRequestExecutor;
-import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
-import com.foxinmy.weixin4j.model.Token;
-import com.foxinmy.weixin4j.qy.type.URLConsts;
-import com.foxinmy.weixin4j.token.TokenCreator;
-import com.foxinmy.weixin4j.token.TokenHolder;
-import com.foxinmy.weixin4j.type.TicketType;
-
-/**
- * 微信企业号TICKET创建(包括jsticket、其它JSSDK所需的ticket的创建
- *
- * @className WeixinTicketCreator
- * @author jy
- * @date 2015年12月25日
- * @since JDK 1.6 JSTICKET
- */
-public class WeixinTicketCreator implements TokenCreator {
-
- private final String corpid;
- private final TicketType ticketType;
- private final TokenHolder weixinTokenHolder;
- private final WeixinRequestExecutor weixinExecutor;
-
- /**
- * @param corpid
- * 企业号ID
- * @param ticketType
- * 票据类型
- * @param weixinTokenHolder
- * 企业号的的access_token
- */
- public WeixinTicketCreator(String corpid, TicketType ticketType,
- TokenHolder weixinTokenHolder) {
- this.corpid = corpid;
- this.ticketType = ticketType;
- this.weixinTokenHolder = weixinTokenHolder;
- this.weixinExecutor = new WeixinRequestExecutor();
- }
-
- @Override
- public String getCacheKey() {
- return String.format("weixin4j_qy_ticket_%s_%s", corpid, ticketType.name());
- }
-
- @Override
- public Token createToken() throws WeixinException {
- WeixinResponse response = null;
- if (ticketType == TicketType.jsapi) {
- response = weixinExecutor.get(String.format(
- URLConsts.JS_TICKET_URL, weixinTokenHolder.getToken()
- .getAccessToken()));
- } else {
- response = weixinExecutor.get(String.format(URLConsts.TICKET_URL,
- weixinTokenHolder.getToken().getAccessToken(),
- ticketType.name()));
- }
- JSONObject result = response.getAsJson();
- Token token = new Token(result.getString("ticket"));
- token.setExpiresIn(result.getIntValue("expires_in"));
- token.setCreateTime(System.currentTimeMillis());
- token.setOriginalResult(response.getAsString());
- return token;
- }
-}
+package com.foxinmy.weixin4j.qy.token;
+
+import com.alibaba.fastjson.JSONObject;
+import com.foxinmy.weixin4j.exception.WeixinException;
+import com.foxinmy.weixin4j.http.weixin.WeixinRequestExecutor;
+import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
+import com.foxinmy.weixin4j.model.Token;
+import com.foxinmy.weixin4j.qy.type.URLConsts;
+import com.foxinmy.weixin4j.token.TokenCreator;
+import com.foxinmy.weixin4j.token.TokenHolder;
+import com.foxinmy.weixin4j.type.TicketType;
+
+/**
+ * 微信企业号TICKET创建(包括jsticket、其它JSSDK所需的ticket的创建
+ *
+ * @className WeixinTicketCreator
+ * @author jy
+ * @date 2015年12月25日
+ * @since JDK 1.6 JSTICKET
+ */
+public class WeixinTicketCreator implements TokenCreator {
+
+ private final String corpid;
+ private final TicketType ticketType;
+ private final TokenHolder weixinTokenHolder;
+ private final WeixinRequestExecutor weixinExecutor;
+
+ /**
+ * @param corpid
+ * 企业号ID
+ * @param ticketType
+ * 票据类型
+ * @param weixinTokenHolder
+ * 企业号的的access_token
+ */
+ public WeixinTicketCreator(String corpid, TicketType ticketType, TokenHolder weixinTokenHolder) {
+ this.corpid = corpid;
+ this.ticketType = ticketType;
+ this.weixinTokenHolder = weixinTokenHolder;
+ this.weixinExecutor = new WeixinRequestExecutor();
+ }
+
+ @Override
+ public String getCacheKey() {
+ return String.format("weixin4j_qy_ticket_%s_%s", ticketType.name(), corpid);
+ }
+
+ @Override
+ public Token createToken() throws WeixinException {
+ WeixinResponse response = null;
+ if (ticketType == TicketType.jsapi) {
+ response = weixinExecutor
+ .get(String.format(URLConsts.JS_TICKET_URL, weixinTokenHolder.getToken().getAccessToken()));
+ } else {
+ response = weixinExecutor.get(String.format(URLConsts.TICKET_URL,
+ weixinTokenHolder.getToken().getAccessToken(), ticketType.name()));
+ }
+ JSONObject result = response.getAsJson();
+ Token token = new Token(result.getString("ticket"));
+ token.setExpiresIn(result.getIntValue("expires_in"));
+ token.setCreateTime(System.currentTimeMillis());
+ token.setOriginalResult(response.getAsString());
+ return token;
+ }
+}