From 8f73c409d6f78ae3935abe1e572f2d6fb1d6ddb3 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sun, 30 May 2021 23:20:37 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#2137=20=E3=80=90=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E3=80=91=E6=B6=88=E6=81=AF=E7=B1=BB=E9=87=8C?= =?UTF-8?q?=E7=9A=84Id=E4=BF=AE=E6=94=B9=E4=B8=BAString=E4=BB=A5=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E5=AD=97=E7=AC=A6=E4=B8=B2=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cp/bean/message/WxCpTpXmlMessage.java | 8 +++--- .../cp/bean/message/WxCpTpXmlMessageTest.java | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessage.java index b047ac54c..c2958eaf2 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessage.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessage.java @@ -25,8 +25,8 @@ import me.chanjar.weixin.cp.util.xml.XStreamTransformer; @Slf4j @Data public class WxCpTpXmlMessage implements Serializable { - private static final long serialVersionUID = 6031833682211475786L; + /** * 使用dom4j解析的存放所有xml属性和值的map. */ @@ -109,8 +109,8 @@ public class WxCpTpXmlMessage implements Serializable { protected String telephone; @XStreamAlias("Id") - @XStreamConverter(value = IntConverter.class) - protected Integer id; + @XStreamConverter(value = XStreamCDataConverter.class) + protected String id; @XStreamAlias("Name") @XStreamConverter(value = XStreamCDataConverter.class) @@ -410,7 +410,7 @@ public class WxCpTpXmlMessage implements Serializable { @XStreamAlias("NotifyNode") public static class NotifyNode implements Serializable { private static final long serialVersionUID = 6031833682211475786L; - + @XStreamAlias("ItemName") protected String itemName; @XStreamAlias("ItemUserId") diff --git a/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessageTest.java b/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessageTest.java index 1e4a1450a..04d9455cf 100644 --- a/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessageTest.java +++ b/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessageTest.java @@ -147,6 +147,7 @@ public class WxCpTpXmlMessageTest { " \n" + " \n" + " 1234567890123456\n" + + " " + " 1\n" + ""; @@ -156,6 +157,7 @@ public class WxCpTpXmlMessageTest { assertEquals(wxXmlMessage.getCreateTime(), Long.valueOf(1348831860)); assertEquals(wxXmlMessage.getMsgType(), "text"); assertEquals(wxXmlMessage.getMsgId(), "1234567890123456"); + assertEquals(wxXmlMessage.getId(), "etEsNADQAAaiB0cWCSDFiJ2qCap-ww9A"); } @Test @@ -231,4 +233,27 @@ public class WxCpTpXmlMessageTest { assertEquals(wxXmlMessage.getApprovalInfo().getNotifyNodes().get(0).getItemImage(), "http://www.qq.com/xxx.png"); assertEquals(wxXmlMessage.getApprovalInfo().getNotifyNodes().get(0).getItemUserId(), Integer.valueOf(3)); } + + @Test + public void testFromXml() { + String xml = "\n" + + " \n" + + " \n" + + " 1348831860\n" + + " \n" + + " \n" + + " 1234567890123456\n" + + " 2\n" + + " 1\n" + + ""; + + WxCpTpXmlMessage wxXmlMessage = WxCpTpXmlMessage.fromXml(xml); + assertEquals(wxXmlMessage.getToUserName(), "toUser"); + assertEquals(wxXmlMessage.getFromUserName(), "fromUser"); + assertEquals(wxXmlMessage.getCreateTime(), Long.valueOf(1348831860)); + assertEquals(wxXmlMessage.getMsgType(), "text"); + assertEquals(wxXmlMessage.getMsgId(), "1234567890123456"); + assertEquals(wxXmlMessage.getId(), "2"); + + } }