TokenCreator新增uniqueid方法
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -98,7 +98,7 @@ public class NotifyApi extends QyApi {
|
||||
String.format(message_send_uri, token.getAccessToken()),
|
||||
obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
IdParameter idParameter = new IdParameter();
|
||||
IdParameter idParameter = IdParameter.get();
|
||||
if (obj.containsKey("invaliduser")) {
|
||||
idParameter.setUserIds(Arrays.asList(obj.getString("invaliduser")
|
||||
.split(IdParameter.SEPARATORS)));
|
||||
|
||||
@@ -200,7 +200,7 @@ public class TagApi extends QyApi {
|
||||
WeixinResponse response = weixinExecutor.post(
|
||||
String.format(uri, token.getAccessToken()), obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
IdParameter idParameter = new IdParameter();
|
||||
IdParameter idParameter = IdParameter.get();
|
||||
if (obj.containsKey("invalidlist")) {
|
||||
idParameter.setUserIds(Arrays.asList(obj.getString("invalidlist")
|
||||
.split(IdParameter.SEPARATORS)));
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.foxinmy.weixin4j.tuple.NotifyTuple;
|
||||
|
||||
/**
|
||||
* 消息提醒对象
|
||||
*
|
||||
*
|
||||
* @className NotifyMessage
|
||||
* @author jinyu(foxinmy@gmail.com)
|
||||
* @date 2014年11月22日
|
||||
@@ -48,7 +48,7 @@ public class NotifyMessage implements Serializable {
|
||||
private IdParameter target;
|
||||
|
||||
public NotifyMessage(int agentid, NotifyTuple tuple) {
|
||||
this(agentid, tuple, new IdParameter(), false);
|
||||
this(agentid, tuple, IdParameter.get(), false);
|
||||
}
|
||||
|
||||
public NotifyMessage(int agentId, NotifyTuple tuple, IdParameter target, boolean isSafe) {
|
||||
|
||||
@@ -35,12 +35,16 @@ public class IdParameter implements Serializable {
|
||||
@JSONField(name = "tag")
|
||||
private List<Integer> tagIds;
|
||||
|
||||
public IdParameter() {
|
||||
protected IdParameter() {
|
||||
this.userIds = new ArrayList<String>();
|
||||
this.partyIds = new ArrayList<Integer>();
|
||||
this.tagIds = new ArrayList<Integer>();
|
||||
}
|
||||
|
||||
public static IdParameter get(){
|
||||
return new IdParameter();
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加成员ID列表,最多支持1000个
|
||||
*
|
||||
|
||||
+30
-28
@@ -22,35 +22,37 @@ import com.foxinmy.weixin4j.token.TokenManager;
|
||||
*/
|
||||
public class WeixinSuitePreCodeCreator extends TokenCreator {
|
||||
|
||||
private final TokenManager suiteTokenManager;
|
||||
private final String suiteId;
|
||||
private final TokenManager suiteTokenManager;
|
||||
private final String suiteId;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param suiteTokenManager
|
||||
* 应用套件的token
|
||||
* @param suiteId
|
||||
* 应用套件ID
|
||||
*/
|
||||
public WeixinSuitePreCodeCreator(TokenManager suiteTokenManager,
|
||||
String suiteId) {
|
||||
this.suiteTokenManager = suiteTokenManager;
|
||||
this.suiteId = suiteId;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param suiteTokenManager
|
||||
* 应用套件的token
|
||||
* @param suiteId
|
||||
* 应用套件ID
|
||||
*/
|
||||
public WeixinSuitePreCodeCreator(TokenManager suiteTokenManager, String suiteId) {
|
||||
this.suiteTokenManager = suiteTokenManager;
|
||||
this.suiteId = suiteId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String key0() {
|
||||
return String.format("qy_suite_precode_%s", suiteId);
|
||||
}
|
||||
@Override
|
||||
public String name() {
|
||||
return "qy_suite_precode";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
WeixinResponse response = weixinExecutor.post(
|
||||
String.format(URLConsts.SUITE_PRE_CODE_URL,
|
||||
suiteTokenManager.getAccessToken()),
|
||||
String.format("{\"suite_id\":\"%s\"}", suiteId));
|
||||
JSONObject result = response.getAsJson();
|
||||
return new Token(result.getString("pre_auth_code"),
|
||||
result.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
@Override
|
||||
public String uniqueid() {
|
||||
return suiteId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
WeixinResponse response = weixinExecutor.post(
|
||||
String.format(URLConsts.SUITE_PRE_CODE_URL, suiteTokenManager.getAccessToken()),
|
||||
String.format("{\"suite_id\":\"%s\"}", suiteId));
|
||||
JSONObject result = response.getAsJson();
|
||||
return new Token(result.getString("pre_auth_code"), result.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
}
|
||||
|
||||
+30
-27
@@ -15,38 +15,41 @@ import com.foxinmy.weixin4j.token.TokenCreator;
|
||||
* @author jinyu(foxinmy@gmail.com)
|
||||
* @date 2015年6月17日
|
||||
* @since JDK 1.6
|
||||
* @see <a
|
||||
* href="http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E#.E8.8E.B7.E5.8F.96.E5.BA.94.E7.94.A8.E5.A5.97.E4.BB.B6.E4.BB.A4.E7.89.8C">获取应用套件凭证</a>
|
||||
* @see <a href=
|
||||
* "http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E#.E8.8E.B7.E5.8F.96.E5.BA.94.E7.94.A8.E5.A5.97.E4.BB.B6.E4.BB.A4.E7.89.8C">获取应用套件凭证</a>
|
||||
* @see com.foxinmy.weixin4j.model.Token
|
||||
*/
|
||||
public class WeixinSuiteTokenCreator extends TokenCreator {
|
||||
|
||||
private final TicketManager ticketManager;
|
||||
private final TicketManager ticketManager;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param ticketManager
|
||||
* 套件ticket存取
|
||||
*/
|
||||
public WeixinSuiteTokenCreator(TicketManager ticketManager) {
|
||||
this.ticketManager = ticketManager;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param ticketManager
|
||||
* 套件ticket存取
|
||||
*/
|
||||
public WeixinSuiteTokenCreator(TicketManager ticketManager) {
|
||||
this.ticketManager = ticketManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String key0() {
|
||||
return String.format("qy_suite_token_%s", ticketManager.getThirdId());
|
||||
}
|
||||
@Override
|
||||
public String name() {
|
||||
return "qy_suite_token";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("suite_id", ticketManager.getThirdId());
|
||||
obj.put("suite_secret", ticketManager.getThirdSecret());
|
||||
obj.put("suite_ticket", ticketManager.getAccessTicket());
|
||||
WeixinResponse response = weixinExecutor.post(
|
||||
URLConsts.SUITE_TOKEN_URL, obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
return new Token(obj.getString("suite_access_token"),
|
||||
obj.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
@Override
|
||||
public String uniqueid() {
|
||||
return ticketManager.getThirdId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("suite_id", ticketManager.getThirdId());
|
||||
obj.put("suite_secret", ticketManager.getThirdSecret());
|
||||
obj.put("suite_ticket", ticketManager.getAccessTicket());
|
||||
WeixinResponse response = weixinExecutor.post(URLConsts.SUITE_TOKEN_URL, obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
return new Token(obj.getString("suite_access_token"), obj.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
}
|
||||
|
||||
+33
-32
@@ -23,39 +23,40 @@ import com.foxinmy.weixin4j.token.TokenManager;
|
||||
*/
|
||||
public class WeixinTokenSuiteCreator extends TokenCreator {
|
||||
|
||||
private final PerTicketManager perTicketManager;
|
||||
private final TokenManager suiteTokenManager;
|
||||
private final PerTicketManager perTicketManager;
|
||||
private final TokenManager suiteTokenManager;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param perTicketManager
|
||||
* 第三方套件永久授权码
|
||||
* @param suiteTokenManager
|
||||
* 第三方套件凭证token
|
||||
*/
|
||||
public WeixinTokenSuiteCreator(PerTicketManager perTicketManager,
|
||||
TokenManager suiteTokenManager) {
|
||||
this.perTicketManager = perTicketManager;
|
||||
this.suiteTokenManager = suiteTokenManager;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param perTicketManager
|
||||
* 第三方套件永久授权码
|
||||
* @param suiteTokenManager
|
||||
* 第三方套件凭证token
|
||||
*/
|
||||
public WeixinTokenSuiteCreator(PerTicketManager perTicketManager, TokenManager suiteTokenManager) {
|
||||
this.perTicketManager = perTicketManager;
|
||||
this.suiteTokenManager = suiteTokenManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String key0() {
|
||||
return String.format("qy_token_suite_%s_%s",
|
||||
perTicketManager.getThirdId(), perTicketManager.getAuthAppId());
|
||||
}
|
||||
@Override
|
||||
public String name() {
|
||||
return String.format("qy_token_suite_%s_%s", perTicketManager.getThirdId(), perTicketManager.getAuthAppId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("suite_id", perTicketManager.getThirdId());
|
||||
obj.put("auth_corpid", perTicketManager.getAuthAppId());
|
||||
obj.put("permanent_code", perTicketManager.getAccessTicket());
|
||||
WeixinResponse response = weixinExecutor.post(
|
||||
String.format(URLConsts.TOKEN_SUITE_URL,
|
||||
suiteTokenManager.getAccessToken()), obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
return new Token(obj.getString("access_token"),
|
||||
obj.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
@Override
|
||||
public String uniqueid() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("suite_id", perTicketManager.getThirdId());
|
||||
obj.put("auth_corpid", perTicketManager.getAuthAppId());
|
||||
obj.put("permanent_code", perTicketManager.getAccessTicket());
|
||||
WeixinResponse response = weixinExecutor
|
||||
.post(String.format(URLConsts.TOKEN_SUITE_URL, suiteTokenManager.getAccessToken()), obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
return new Token(obj.getString("access_token"), obj.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
}
|
||||
|
||||
+31
-28
@@ -21,35 +21,38 @@ import com.foxinmy.weixin4j.token.TokenCreator;
|
||||
*/
|
||||
public class WeixinProviderTokenCreator extends TokenCreator {
|
||||
|
||||
private final String corpid;
|
||||
private final String providersecret;
|
||||
private final String corpid;
|
||||
private final String providersecret;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param corpid
|
||||
* 企业号ID
|
||||
* @param providersecret
|
||||
* 企业号提供商的secret
|
||||
*/
|
||||
public WeixinProviderTokenCreator(String corpid, String providersecret) {
|
||||
this.corpid = corpid;
|
||||
this.providersecret = providersecret;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param corpid
|
||||
* 企业号ID
|
||||
* @param providersecret
|
||||
* 企业号提供商的secret
|
||||
*/
|
||||
public WeixinProviderTokenCreator(String corpid, String providersecret) {
|
||||
this.corpid = corpid;
|
||||
this.providersecret = providersecret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String key0() {
|
||||
return String.format("qy_provider_token_%s", corpid);
|
||||
}
|
||||
@Override
|
||||
public String name() {
|
||||
return "qy_provider_token";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("corpid", corpid);
|
||||
obj.put("provider_secret", providersecret);
|
||||
WeixinResponse response = weixinExecutor.post(
|
||||
URLConsts.PROVIDER_TOKEN_URL, obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
return new Token(obj.getString("provider_access_token"),
|
||||
obj.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
@Override
|
||||
public String uniqueid() {
|
||||
return corpid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("corpid", corpid);
|
||||
obj.put("provider_secret", providersecret);
|
||||
WeixinResponse response = weixinExecutor.post(URLConsts.PROVIDER_TOKEN_URL, obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
return new Token(obj.getString("provider_access_token"), obj.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,45 +22,42 @@ import com.foxinmy.weixin4j.type.TicketType;
|
||||
*/
|
||||
public class WeixinTicketCreator extends TokenCreator {
|
||||
|
||||
private final String corpid;
|
||||
private final TicketType ticketType;
|
||||
private final TokenManager weixinTokenManager;
|
||||
private final TicketType ticketType;
|
||||
private final TokenManager weixinTokenManager;
|
||||
|
||||
/**
|
||||
* @param corpid
|
||||
* 企业号ID
|
||||
* @param ticketType
|
||||
* 票据类型
|
||||
* @param weixinTokenManager
|
||||
* <font color="red">企业号的access_token</font>
|
||||
*/
|
||||
public WeixinTicketCreator(String corpid, TicketType ticketType,
|
||||
TokenManager weixinTokenManager) {
|
||||
this.corpid = corpid;
|
||||
this.ticketType = ticketType;
|
||||
this.weixinTokenManager = weixinTokenManager;
|
||||
}
|
||||
/**
|
||||
* @param ticketType
|
||||
* 票据类型
|
||||
* @param weixinTokenManager
|
||||
* <font color="red">企业号的access_token</font>
|
||||
*/
|
||||
public WeixinTicketCreator(TicketType ticketType, TokenManager weixinTokenManager) {
|
||||
this.ticketType = ticketType;
|
||||
this.weixinTokenManager = weixinTokenManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String key0() {
|
||||
return String.format("qy_ticket_%s_%s", ticketType.name(), corpid);
|
||||
}
|
||||
@Override
|
||||
public String name() {
|
||||
return String.format("qy_ticket_%s", ticketType.name());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
WeixinResponse response = null;
|
||||
if (ticketType == TicketType.jsapi) {
|
||||
response = weixinExecutor.get(String.format(
|
||||
URLConsts.JS_TICKET_URL, weixinTokenManager.getCache()
|
||||
.getAccessToken()));
|
||||
} else {
|
||||
response = weixinExecutor.get(String.format(
|
||||
URLConsts.SUITE_TICKET_URL, weixinTokenManager.getCache()
|
||||
.getAccessToken(), ticketType.name()));
|
||||
}
|
||||
JSONObject result = response.getAsJson();
|
||||
return new Token(result.getString("ticket"),
|
||||
result.getLong("expires_in") * 1000l).pushExtra("group_id",
|
||||
result.getString("group_id"));
|
||||
}
|
||||
@Override
|
||||
public String uniqueid() {
|
||||
return weixinTokenManager.getWeixinId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
WeixinResponse response = null;
|
||||
if (ticketType == TicketType.jsapi) {
|
||||
response = weixinExecutor
|
||||
.get(String.format(URLConsts.JS_TICKET_URL, weixinTokenManager.getCache().getAccessToken()));
|
||||
} else {
|
||||
response = weixinExecutor.get(String.format(URLConsts.SUITE_TICKET_URL,
|
||||
weixinTokenManager.getCache().getAccessToken(), ticketType.name()));
|
||||
}
|
||||
JSONObject result = response.getAsJson();
|
||||
return new Token(result.getString("ticket"), result.getLong("expires_in") * 1000l).pushExtra("group_id",
|
||||
result.getString("group_id"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,33 +21,36 @@ import com.foxinmy.weixin4j.token.TokenCreator;
|
||||
*/
|
||||
public class WeixinTokenCreator extends TokenCreator {
|
||||
|
||||
private final String corpid;
|
||||
private final String corpsecret;
|
||||
private final String corpid;
|
||||
private final String corpsecret;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param corpid
|
||||
* 企业号ID
|
||||
* @param corpsecret
|
||||
* 企业号secret
|
||||
*/
|
||||
public WeixinTokenCreator(String corpid, String corpsecret) {
|
||||
this.corpid = corpid;
|
||||
this.corpsecret = corpsecret;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param corpid
|
||||
* 企业号ID
|
||||
* @param corpsecret
|
||||
* 企业号secret
|
||||
*/
|
||||
public WeixinTokenCreator(String corpid, String corpsecret) {
|
||||
this.corpid = corpid;
|
||||
this.corpsecret = corpsecret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String key0() {
|
||||
return String.format("qy_token_%s", corpid);
|
||||
}
|
||||
@Override
|
||||
public String name() {
|
||||
return "qy_token";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
String tokenUrl = String.format(URLConsts.ASSESS_TOKEN_URL, corpid,
|
||||
corpsecret);
|
||||
WeixinResponse response = weixinExecutor.get(tokenUrl);
|
||||
JSONObject result = response.getAsJson();
|
||||
return new Token(result.getString("access_token"),
|
||||
result.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
@Override
|
||||
public String uniqueid() {
|
||||
return corpid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token create() throws WeixinException {
|
||||
String tokenUrl = String.format(URLConsts.ASSESS_TOKEN_URL, corpid, corpsecret);
|
||||
WeixinResponse response = weixinExecutor.get(tokenUrl);
|
||||
JSONObject result = response.getAsJson();
|
||||
return new Token(result.getString("access_token"), result.getLongValue("expires_in") * 1000l);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user