diff --git a/weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpServiceImpl.java b/weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpServiceImpl.java index 806ff677..949fda64 100644 --- a/weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpServiceImpl.java +++ b/weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpServiceImpl.java @@ -107,17 +107,17 @@ public class WxCpServiceImpl implements WxCpService { } public void menuCreate(WxCpMenu menu) throws WxErrorException { - String url = "https://api.weixin.qq.com/cgi-bin/menu/create"; + String url = "https://qyapi.weixin.qq.com/cgi-bin/menu/create?agentid=" + wxCpConfigStorage.getAgentId(); execute(new SimplePostRequestExecutor(), url, menu.toJson()); } public void menuDelete() throws WxErrorException { - String url = "https://api.weixin.qq.com/cgi-bin/menu/delete"; + String url = "https://qyapi.weixin.qq.com/cgi-bin/menu/delete?agentid=" + wxCpConfigStorage.getAgentId(); execute(new SimpleGetRequestExecutor(), url, null); } public WxCpMenu menuGet() throws WxErrorException { - String url = "https://api.weixin.qq.com/cgi-bin/menu/get"; + String url = "https://qyapi.weixin.qq.com/cgi-bin/menu/get?agentid=" + wxCpConfigStorage.getAgentId(); try { String resultContent = execute(new SimpleGetRequestExecutor(), url, null); return WxCpMenu.fromJson(resultContent); diff --git a/weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/util/json/WxCpMenuGsonAdapter.java b/weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/util/json/WxCpMenuGsonAdapter.java index 2cabda7b..31db9dfc 100644 --- a/weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/util/json/WxCpMenuGsonAdapter.java +++ b/weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/util/json/WxCpMenuGsonAdapter.java @@ -65,7 +65,8 @@ public class WxCpMenuGsonAdapter implements JsonSerializer, JsonDeseri * 查询菜单时是 { menu : { button : ... } } */ WxCpMenu menu = new WxCpMenu(); - JsonArray buttonsJson = json.getAsJsonObject().get("button").getAsJsonArray(); + JsonObject menuJson = json.getAsJsonObject().get("menu").getAsJsonObject(); + JsonArray buttonsJson = menuJson.get("button").getAsJsonArray(); for (int i = 0; i < buttonsJson.size(); i++) { JsonObject buttonJson = buttonsJson.get(i).getAsJsonObject(); WxCpMenu.WxMenuButton button = convertFromJson(buttonJson); diff --git a/weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/api/WxCpMenuAPITest.java b/weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/api/WxCpMenuAPITest.java index cf1b70be..b22cba7a 100644 --- a/weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/api/WxCpMenuAPITest.java +++ b/weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/api/WxCpMenuAPITest.java @@ -18,7 +18,8 @@ import me.chanjar.weixin.enterprise.exception.WxErrorException; * @author Daniel Qian * */ -@Test(groups="menuAPI", dependsOnGroups="baseAPI") +//@Test(groups="menuAPI", dependsOnGroups="baseAPI") +@Test @Guice(modules = ApiTestModule.class) public class WxCpMenuAPITest {