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 e0182c967..efc42fbb6 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 c506c1ed7..31c3c0204 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 884680900..922cbb7e0 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()); }