🎨 #2137 【企业微信】消息类里的Id修改为String以兼容字符串类型

This commit is contained in:
Binary Wang
2021-05-30 23:20:37 +08:00
parent 2c108c4628
commit 8f73c409d6
2 changed files with 29 additions and 4 deletions

View File

@ -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")

View File

@ -147,6 +147,7 @@ public class WxCpTpXmlMessageTest {
" <MsgType><![CDATA[text]]></MsgType>\n" +
" <Content><![CDATA[this is a test]]></Content>\n" +
" <MsgId>1234567890123456</MsgId>\n" +
" <Id><![CDATA[etEsNADQAAaiB0cWCSDFiJ2qCap-ww9A]]></Id>" +
" <AgentID>1</AgentID>\n" +
"</xml>";
@ -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 = "<xml>\n" +
" <ToUserName><![CDATA[toUser]]></ToUserName>\n" +
" <FromUserName><![CDATA[fromUser]]></FromUserName> \n" +
" <CreateTime>1348831860</CreateTime>\n" +
" <MsgType><![CDATA[text]]></MsgType>\n" +
" <Content><![CDATA[this is a test]]></Content>\n" +
" <MsgId>1234567890123456</MsgId>\n" +
" <Id>2</Id>\n" +
" <AgentID>1</AgentID>\n" +
"</xml>";
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");
}
}