diff --git a/README.md b/README.md index 8683fdc9..ebd57e6c 100644 --- a/README.md +++ b/README.md @@ -50,3 +50,7 @@ weixin-java-tools * [1.0.3升级指南](https://github.com/chanjarster/weixin-java-tools/wiki/1_0_3升级指南) * [1.1.0升级指南](https://github.com/chanjarster/weixin-java-tools/wiki/1_1_0升级指南) * [1.1.1升级指南](https://github.com/chanjarster/weixin-java-tools/wiki/1_1_1升级指南) + +## 关于Pull Request + +非常欢迎和感谢对本项目发起Pull Request的同学,不过本项目基于[git flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)开发流程,因此在发起Pull Request的时候请选择develop分支。 diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java index 454c6f23..80d16638 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java @@ -29,6 +29,7 @@ public class WxConsts { public static final String CUSTOM_MSG_MUSIC = "music"; public static final String CUSTOM_MSG_NEWS = "news"; public static final String CUSTOM_MSG_FILE = "file"; + public static final String CUSTOM_MSG_TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service"; /////////////////////// // 群发消息的消息类型 diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java index 370d4430..bca8c143 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java @@ -121,4 +121,12 @@ public abstract class WxMpXmlOutMessage implements Serializable { public static NewsBuilder NEWS() { return new NewsBuilder(); } + /** + * 获得客服消息builder + * + * @return + */ + public static TransferCustomerServiceBuilder TRANSFER_CUSTOMER_SERVICE() { + return new TransferCustomerServiceBuilder(); + } } 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 new file mode 100644 index 00000000..5783d2b4 --- /dev/null +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessage.java @@ -0,0 +1,41 @@ +package me.chanjar.weixin.mp.bean; + +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(); + + public WxMpXmlOutTransferCustomerServiceMessage() { + this.msgType = WxConsts.CUSTOM_MSG_TRANSFER_CUSTOMER_SERVICE; + } + + public String getKfAccount() { + return transInfo.getKfAccount(); + } + + public void setKfAccount(String kfAccount) { + transInfo.setKfAccount(kfAccount); + } + + @XStreamAlias("TransInfo") + public static class TransInfo { + + @XStreamAlias("KfAccount") + @XStreamConverter(value=XStreamCDataConverter.class) + private String kfAccount; + + public String getKfAccount() { + return kfAccount; + } + + public void setKfAccount(String kfAccount) { + this.kfAccount = kfAccount; + } + } +} 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 new file mode 100644 index 00000000..37616cf9 --- /dev/null +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java @@ -0,0 +1,28 @@ +package me.chanjar.weixin.mp.bean.outxmlbuilder; + +import me.chanjar.weixin.mp.bean.WxMpXmlOutTransferCustomerServiceMessage; + +/** + * 客服消息builder + *
+ * 用法: WxMpCustomMessage m = WxMpCustomMessage.TRANSFER_CUSTOMER_SERVICE().content(...).toUser(...).build(); + *+ * + * @author chanjarster + */ +public final class TransferCustomerServiceBuilder extends BaseBuilder