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);
+ }
}