From 75ca8241e75bf6a680312df16390d17ca13b6c22 Mon Sep 17 00:00:00 2001 From: Daniel Qian Date: Wed, 24 Dec 2014 13:55:19 +0800 Subject: [PATCH] close #53 --- .../weixin/mp/bean/WxMpXmlMessage.java | 2 +- .../weixin/mp/bean/WxMpXmlMessageTest.java | 83 ++++++++++++++++++- 2 files changed, 83 insertions(+), 2 deletions(-) diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java index d50bd899..2470aff4 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java @@ -382,7 +382,7 @@ public class WxMpXmlMessage { public static WxMpXmlMessage fromXml(String xml) { try { // 操蛋的微信,模板消息推送成功的消息是MsgID,其他消息推送过来是MsgId - xml = xml.replaceAll("", "").replaceAll("", ""); + xml = xml.replaceAll("", "").replaceAll("", ""); return XmlTransformer.fromXml(WxMpXmlMessage.class, xml); } catch (JAXBException e) { throw new RuntimeException(e); diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlMessageTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlMessageTest.java index 346681cb..3885ec32 100644 --- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlMessageTest.java +++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlMessageTest.java @@ -87,5 +87,86 @@ public class WxMpXmlMessageTest { Assert.assertEquals(wxMessage.getSendLocationInfo().getLabel(), " 广州市海珠区客村艺苑路 106号"); Assert.assertEquals(wxMessage.getSendLocationInfo().getPoiname(), "wo de poi"); } - + + public void testFromXml2() { + + String xml = "" + + "" + + " " + + "1348831860" + + "" + + "" + + "1234567890123456" + + "" + + "" + + "" + + "" + + "23.134521" + + "113.358803" + + "20" + + "" + + "" + + "" + + "<![CDATA[公众平台官网链接]]>" + + "" + + "" + + "" + + "23.137466" + + "113.352425" + + "119.385040" + + "" + + " " + + " " + + "" + + "" + + " 1\n" + + " " + + " " + + " " + + " " + + " " + + "" + + "" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "" + + ""; + WxMpXmlMessage wxMessage = WxMpXmlMessage.fromXml(xml); + Assert.assertEquals(wxMessage.getToUserName(), "toUser"); + Assert.assertEquals(wxMessage.getFromUserName(), "fromUser"); + Assert.assertEquals(wxMessage.getCreateTime(), new Long(1348831860l)); + Assert.assertEquals(wxMessage.getMsgType(), WxConsts.XML_MSG_TEXT); + Assert.assertEquals(wxMessage.getContent(), "this is a test"); + Assert.assertEquals(wxMessage.getMsgId(), new Long(1234567890123456l)); + Assert.assertEquals(wxMessage.getPicUrl(), "this is a url"); + Assert.assertEquals(wxMessage.getMediaId(), "media_id"); + Assert.assertEquals(wxMessage.getFormat(), "Format"); + Assert.assertEquals(wxMessage.getThumbMediaId(), "thumb_media_id"); + Assert.assertEquals(wxMessage.getLocationX(), new Double(23.134521d)); + Assert.assertEquals(wxMessage.getLocationY(), new Double(113.358803d)); + Assert.assertEquals(wxMessage.getScale(), new Double(20)); + Assert.assertEquals(wxMessage.getLabel(), "位置信息"); + Assert.assertEquals(wxMessage.getDescription(), "公众平台官网链接"); + Assert.assertEquals(wxMessage.getUrl(), "url"); + Assert.assertEquals(wxMessage.getTitle(), "公众平台官网链接"); + Assert.assertEquals(wxMessage.getEvent(), "subscribe"); + Assert.assertEquals(wxMessage.getEventKey(), "qrscene_123123"); + Assert.assertEquals(wxMessage.getTicket(), "TICKET"); + Assert.assertEquals(wxMessage.getLatitude(), new Double(23.137466)); + Assert.assertEquals(wxMessage.getLongitude(), new Double(113.352425)); + Assert.assertEquals(wxMessage.getPrecision(), new Double(119.385040)); + Assert.assertEquals(wxMessage.getScanCodeInfo().getScanType(), "qrcode"); + Assert.assertEquals(wxMessage.getScanCodeInfo().getScanResult(), "1"); + Assert.assertEquals(wxMessage.getSendPicsInfo().getCount(), new Long(1l)); + Assert.assertEquals(wxMessage.getSendPicsInfo().getPicList().get(0).getPicMd5Sum(), "1b5f7c23b5bf75682a53e7b6d163e185"); + Assert.assertEquals(wxMessage.getSendLocationInfo().getLocationX(), "23"); + Assert.assertEquals(wxMessage.getSendLocationInfo().getLocationY(), "113"); + Assert.assertEquals(wxMessage.getSendLocationInfo().getScale(), "15"); + Assert.assertEquals(wxMessage.getSendLocationInfo().getLabel(), " 广州市海珠区客村艺苑路 106号"); + Assert.assertEquals(wxMessage.getSendLocationInfo().getPoiname(), "wo de poi"); + } + }