diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessage.java index 5783d2b4..67c3d28e 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessage.java @@ -4,23 +4,22 @@ import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamConverter; import me.chanjar.weixin.common.api.WxConsts; import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; -import me.chanjar.weixin.common.util.xml.XStreamMediaIdConverter; @XStreamAlias("xml") public class WxMpXmlOutTransferCustomerServiceMessage extends WxMpXmlOutMessage { @XStreamAlias("TransInfo") - protected final TransInfo transInfo = new TransInfo(); + protected TransInfo transInfo; public WxMpXmlOutTransferCustomerServiceMessage() { this.msgType = WxConsts.CUSTOM_MSG_TRANSFER_CUSTOMER_SERVICE; } - public String getKfAccount() { - return transInfo.getKfAccount(); + public TransInfo getTransInfo() { + return transInfo; } - public void setKfAccount(String kfAccount) { - transInfo.setKfAccount(kfAccount); + public void setTransInfo(TransInfo transInfo) { + this.transInfo = transInfo; } @XStreamAlias("TransInfo") diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java index 01acf8d7..d004eb56 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java @@ -1,5 +1,6 @@ package me.chanjar.weixin.mp.bean.outxmlbuilder; +import me.chanjar.weixin.common.util.StringUtils; import me.chanjar.weixin.mp.bean.WxMpXmlOutTransferCustomerServiceMessage; /** @@ -22,7 +23,11 @@ public final class TransferCustomerServiceBuilder extends BaseBuilder" + + "" + + "1399197672" + + "" + + ""; + System.out.println(m.toXml()); + Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", "")); + + expected = " " + + "" + + "" + + "1399197672" + + "" + + "" + + "" + + "" + + ""; + WxMpXmlOutTransferCustomerServiceMessage.TransInfo transInfo = new WxMpXmlOutTransferCustomerServiceMessage.TransInfo(); + transInfo.setKfAccount("test1@test"); + m.setTransInfo(transInfo); + System.out.println(m.toXml()); + Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", "")); + } + + @Test + public void testBuild() { + WxMpXmlOutTransferCustomerServiceMessage m = WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE().fromUser("fromuser").toUser("touser").build(); + m.setCreateTime(1399197672L); + String expected = "" + + "" + + "" + + "1399197672" + + "" + + ""; + System.out.println(m.toXml()); + Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", "")); + + + expected = " " + + "" + + "" + + "1399197672" + + "" + + "" + + "" + + "" + + ""; + m = WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE().kfAccount("test1@test").fromUser("fromuser").toUser("touser").build(); + m.setCreateTime(1399197672L); + System.out.println(m.toXml()); + Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", "")); + } +} \ No newline at end of file