From 3875635a8ab4428b202d951df3f7a5b82ba9c9da Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Mon, 11 Sep 2017 11:05:29 +0800 Subject: [PATCH] =?UTF-8?q?#136=20=E4=BF=AE=E5=A4=8DWxMenuRule=E5=8F=8D?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8C=96=E7=9A=84=E9=97=AE=E9=A2=98tag=5Fid?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chanjar/weixin/common/bean/menu/WxMenuRule.java | 5 +++++ .../weixin/common/util/json/WxMenuGsonAdapter.java | 1 + .../weixin/mp/api/impl/WxMpMenuServiceImplTest.java | 13 +++++++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/menu/WxMenuRule.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/menu/WxMenuRule.java index e0182c96..efc42fbb 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/menu/WxMenuRule.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/menu/WxMenuRule.java @@ -1,5 +1,6 @@ package me.chanjar.weixin.common.bean.menu; +import com.google.gson.annotations.SerializedName; import me.chanjar.weixin.common.util.ToStringUtils; import java.io.Serializable; @@ -7,6 +8,10 @@ import java.io.Serializable; public class WxMenuRule implements Serializable { private static final long serialVersionUID = -4587181819499286670L; + /** + * 变态的微信接口,反序列化时这里反人类的使用和序列化时不一样的名字 + */ + @SerializedName(value = "tag_id", alternate = "group_id") private String tagId; private String sex; private String country; diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/json/WxMenuGsonAdapter.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/json/WxMenuGsonAdapter.java index c506c1ed..31c3c020 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/json/WxMenuGsonAdapter.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/json/WxMenuGsonAdapter.java @@ -70,6 +70,7 @@ public class WxMenuGsonAdapter implements JsonSerializer, JsonDeserializ return matchRule; } + @Deprecated private WxMenuRule convertToRule(JsonObject json) { WxMenuRule menuRule = new WxMenuRule(); //变态的微信接口,这里居然反人类的使用和序列化时不一样的名字 diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMenuServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMenuServiceImplTest.java index 88468090..922cbb7e 100644 --- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMenuServiceImplTest.java +++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMenuServiceImplTest.java @@ -9,9 +9,10 @@ import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.test.ApiTestModule; import me.chanjar.weixin.mp.bean.menu.WxMpGetSelfMenuInfoResult; import me.chanjar.weixin.mp.bean.menu.WxMpMenu; -import org.testng.*; import org.testng.annotations.*; +import static org.testng.Assert.*; + /** * 测试菜单 * @@ -87,6 +88,14 @@ public class WxMpMenuServiceImplTest { System.out.println(this.menuId); } + @Test(dependsOnMethods = {"testCreateConditionalMenu"}) + public void testMenuGet_AfterCreateConditionalMenu() throws WxErrorException { + WxMpMenu wxMenu = this.wxService.getMenuService().menuGet(); + assertNotNull(wxMenu); + System.out.println(wxMenu.toJson()); + assertNotNull(wxMenu.getConditionalMenu().get(0).getRule().getTagId()); + } + @Test(dependsOnMethods = {"testCreateConditionalMenu"}) public void testDeleteConditionalMenu() throws WxErrorException { this.wxService.getMenuService().menuDelete(menuId); @@ -134,7 +143,7 @@ public class WxMpMenuServiceImplTest { @Test(dependsOnMethods = {"testMenuCreate"}) public void testMenuGet() throws WxErrorException { WxMpMenu wxMenu = this.wxService.getMenuService().menuGet(); - Assert.assertNotNull(wxMenu); + assertNotNull(wxMenu); System.out.println(wxMenu.toJson()); }