From 066546997f0dc58d57e7cc1b2f78ddb7a1d1b02f Mon Sep 17 00:00:00 2001 From: jinyu Date: Thu, 9 Apr 2015 23:34:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=8F=B7=EF=BC=9A=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=8E=B7=E5=8F=96=E5=BA=94=E7=94=A8=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=A6=82=E5=86=B5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGE.md | 6 +- weixin4j-qy/README.md | 4 ++ weixin4j-qy/weixin4j-qy-api/README.md | 6 +- .../com/foxinmy/weixin4j/qy/WeixinProxy.java | 15 +++++ .../com/foxinmy/weixin4j/qy/api/AgentApi.java | 22 ++++++ .../foxinmy/weixin4j/qy/api/weixin.properties | 2 + .../foxinmy/weixin4j/qy/model/AgentInfo.java | 2 +- .../weixin4j/qy/model/AgentOverview.java | 67 +++++++++++++++++++ .../foxinmy/weixin4j/qy/test/AgentTest.java | 9 +++ 9 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/model/AgentOverview.java diff --git a/CHANGE.md b/CHANGE.md index 48ed8bbd..f8c29e14 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -226,4 +226,8 @@ + **weixin4j-qy**: [MediaApi](./weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java)新增批量上传成员和部门接口 - + released 1.3 \ No newline at end of file + + released 1.3 + +* 2015-04-09 + + + **weixin4j-qy**: [AgentApi](./weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/AgentApi.java)新增获取应用列表概况接口 \ No newline at end of file diff --git a/weixin4j-qy/README.md b/weixin4j-qy/README.md index 1b4edc6f..8f2a6ef5 100644 --- a/weixin4j-qy/README.md +++ b/weixin4j-qy/README.md @@ -134,3 +134,7 @@ weixin4j-qy * 2015-04-04 + **weixin4j-qy-api**: [MediaApi](./weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java)新增批量上传成员和部门接口 + +* 2015-04-09 + + + **weixin4j-qy-api**: [AgentApi](./weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/AgentApi.java)新增获取应用列表概况接口 diff --git a/weixin4j-qy/weixin4j-qy-api/README.md b/weixin4j-qy/weixin4j-qy-api/README.md index 49b87b85..06ab537a 100644 --- a/weixin4j-qy/weixin4j-qy-api/README.md +++ b/weixin4j-qy/weixin4j-qy-api/README.md @@ -102,4 +102,8 @@ weixin.properties说明 * 2015-04-04 - + [MediaApi](./src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java)新增批量上传成员和部门接口 \ No newline at end of file + + [MediaApi](./src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java)新增批量上传成员和部门接口 + +* 2015-04-09 + + + [AgentApi](./src/main/java/com/foxinmy/weixin4j/qy/api/AgentApi.java)新增获取应用列表概况接口 \ No newline at end of file diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java index 45c55e1b..2c1f17b7 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java @@ -19,6 +19,7 @@ import com.foxinmy.weixin4j.qy.api.TagApi; import com.foxinmy.weixin4j.qy.api.UserApi; import com.foxinmy.weixin4j.qy.message.NotifyMessage; import com.foxinmy.weixin4j.qy.model.AgentInfo; +import com.foxinmy.weixin4j.qy.model.AgentOverview; import com.foxinmy.weixin4j.qy.model.AgentSetter; import com.foxinmy.weixin4j.qy.model.BatchResult; import com.foxinmy.weixin4j.qy.model.Callback; @@ -662,6 +663,20 @@ public class WeixinProxy { return agentApi.setAgent(agentSet); } + /** + * 获取应用概况列表 + * + * @see com.foxinmy.weixin4j.qy.model.AgentOverview + * @see com.foxinmy.weixin4j.qy.api.AgentApi + * @see 获取应用概况 + * @return 应用概况列表 + * @throws WeixinException + */ + public List listAgentOverview() throws WeixinException { + return agentApi.listAgentOverview(); + } + /** * 批量邀请成员关注 * diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/AgentApi.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/AgentApi.java index cbd4c100..11efb2c7 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/AgentApi.java +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/AgentApi.java @@ -1,5 +1,7 @@ package com.foxinmy.weixin4j.qy.api; +import java.util.List; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.ValueFilter; @@ -8,6 +10,7 @@ import com.foxinmy.weixin4j.http.JsonResult; import com.foxinmy.weixin4j.http.Response; import com.foxinmy.weixin4j.model.Token; import com.foxinmy.weixin4j.qy.model.AgentInfo; +import com.foxinmy.weixin4j.qy.model.AgentOverview; import com.foxinmy.weixin4j.qy.model.AgentSetter; import com.foxinmy.weixin4j.qy.model.User; import com.foxinmy.weixin4j.token.TokenHolder; @@ -93,4 +96,23 @@ public class AgentApi extends QyApi { } }; } + + /** + * 获取应用概况列表 + * + * @see com.foxinmy.weixin4j.qy.model.AgentOverview + * @see 获取应用概况 + * @return 应用概况列表 + * @throws WeixinException + */ + public List listAgentOverview() throws WeixinException { + String agent_list_uri = getRequestUri("agent_list_uri"); + Token token = tokenHolder.getToken(); + Response response = request.get(String.format(agent_list_uri, + token.getAccessToken())); + + return JSON.parseArray(response.getAsJson().getString("agentlist"), + AgentOverview.class); + } } diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/weixin.properties b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/weixin.properties index 391ae66b..fa54a8b9 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/weixin.properties +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/weixin.properties @@ -65,6 +65,8 @@ getcallbackip_uri={api_base_url}/getcallbackip?access_token=%s agent_get_uri={api_base_url}/agent/get?access_token=%s&agentid=%d # \u8bbe\u7f6e\u4f01\u4e1a\u53f7\u5e94\u7528\u4fe1\u606f agent_set_uri={api_base_url}/agent/set?access_token=%s +# \u83b7\u53d6\u5e94\u7528\u5217\u8868 +agent_list_uri={api_base_url}/agent/list?access_token=%s # \u6279\u91cf\u9080\u8bf7\u6210\u5458\u5173\u6ce8 batch_inviteuser_uri={api_base_url}/batch/inviteuser?access_token=%s # \u6279\u91cf\u66f4\u65b0\u6210\u5458 diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/model/AgentInfo.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/model/AgentInfo.java index 19120c19..2a21f9b9 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/model/AgentInfo.java +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/model/AgentInfo.java @@ -5,7 +5,7 @@ import java.util.List; import com.alibaba.fastjson.annotation.JSONField; /** - * 企业号应用的基本信息 + * 企业号应用的设置信息 * * @className AgentInfo * @author jy diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/model/AgentOverview.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/model/AgentOverview.java new file mode 100644 index 00000000..958683e0 --- /dev/null +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/model/AgentOverview.java @@ -0,0 +1,67 @@ +package com.foxinmy.weixin4j.qy.model; + +import java.io.Serializable; + +import com.alibaba.fastjson.annotation.JSONField; + +/** + * 企业号应用的概况信息 + * @className AgentOverview + * @author jy + * @date 2015年4月9日 + * @since JDK 1.7 + * @see + */ +public class AgentOverview implements Serializable { + + private static final long serialVersionUID = 5459274811502476460L; + /** + * 企业应用的id + */ + private int agentid; + /** + * 企业应用名称 + */ + private String name; + /** + * 企业应用方形头像 + */ + @JSONField(name = "square_logo_url") + private String squareLogoUrl; + /** + * 企业应用圆形头像 + */ + @JSONField(name = "round_logo_url") + private String roundLogoUrl; + public int getAgentid() { + return agentid; + } + public void setAgentid(int agentid) { + this.agentid = agentid; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getSquareLogoUrl() { + return squareLogoUrl; + } + public void setSquareLogoUrl(String squareLogoUrl) { + this.squareLogoUrl = squareLogoUrl; + } + public String getRoundLogoUrl() { + return roundLogoUrl; + } + public void setRoundLogoUrl(String roundLogoUrl) { + this.roundLogoUrl = roundLogoUrl; + } + + @Override + public String toString() { + return "AgentOverview [agentid=" + agentid + ", name=" + name + + ", squareLogoUrl=" + squareLogoUrl + ", roundLogoUrl=" + + roundLogoUrl + "]"; + } +} diff --git a/weixin4j-qy/weixin4j-qy-api/src/test/java/com/foxinmy/weixin4j/qy/test/AgentTest.java b/weixin4j-qy/weixin4j-qy-api/src/test/java/com/foxinmy/weixin4j/qy/test/AgentTest.java index 8ac066b4..e426b8e1 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/test/java/com/foxinmy/weixin4j/qy/test/AgentTest.java +++ b/weixin4j-qy/weixin4j-qy-api/src/test/java/com/foxinmy/weixin4j/qy/test/AgentTest.java @@ -1,5 +1,7 @@ package com.foxinmy.weixin4j.qy.test; +import java.util.List; + import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -8,6 +10,7 @@ import com.foxinmy.weixin4j.exception.WeixinException; import com.foxinmy.weixin4j.http.JsonResult; import com.foxinmy.weixin4j.qy.api.AgentApi; import com.foxinmy.weixin4j.qy.model.AgentInfo; +import com.foxinmy.weixin4j.qy.model.AgentOverview; import com.foxinmy.weixin4j.qy.model.AgentSetter; import com.foxinmy.weixin4j.qy.type.ReportLocationType; @@ -44,4 +47,10 @@ public class AgentTest extends TokenTest { JsonResult result = agentApi.setAgent(agentSet); Assert.assertTrue(result.getCode() == 0); } + + @Test + public void list() throws WeixinException { + List list = agentApi.listAgentOverview(); + System.err.println(list); + } }