From 56d2b5f57acb16502e393a285129c299b9478547 Mon Sep 17 00:00:00 2001 From: nickname263 Date: Mon, 27 Sep 2021 17:27:46 +0800 Subject: [PATCH] =?UTF-8?q?:new:=E3=80=90=E4=BC=81=E4=B8=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E3=80=91=E6=B7=BB=E5=8A=A0=E5=AF=B9=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=8D=A1=E7=89=87=E6=9B=B4=E6=96=B0=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E2=80=9C=E6=9B=B4=E6=96=B0=E7=82=B9=E5=87=BB=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=9A=84=E6=8C=89=E9=92=AE=E7=82=B9=E5=87=BB=E6=96=87?= =?UTF-8?q?=E6=A1=88=E6=B6=88=E6=81=AF=E2=80=9D=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chanjar/weixin/common/api/WxConsts.java | 1 + .../cp/bean/message/WxCpXmlOutMessage.java | 8 +++++ .../message/WxCpXmlOutUpdateBtnMessage.java | 33 +++++++++++++++++++ .../outxmlbuilder/UpdateButtonBuilder.java | 29 ++++++++++++++++ .../cp/util/xml/XStreamTransformer.java | 7 ++++ 5 files changed, 78 insertions(+) create mode 100644 weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutUpdateBtnMessage.java create mode 100644 weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/outxmlbuilder/UpdateButtonBuilder.java 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 c1e6d3991..01b1d3648 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 @@ -45,6 +45,7 @@ public class WxConsts { public static final String HARDWARE = "hardware"; public static final String TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service"; public static final String UPDATE_TASKCARD = "update_taskcard"; + public static final String UPDATE_BUTTON = "update_button"; } /** diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutMessage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutMessage.java index ff036b4c0..70882561b 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutMessage.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutMessage.java @@ -78,6 +78,14 @@ public abstract class WxCpXmlOutMessage implements Serializable { public static TaskCardBuilder TASK_CARD() { return new TaskCardBuilder(); } + + /** + * 获得任务卡片消息builder. + */ + public static UpdateButtonBuilder UPDATE_BUTTON() { + return new UpdateButtonBuilder(); + } + protected String toXml() { return XStreamTransformer.toXml((Class) this.getClass(), this); } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutUpdateBtnMessage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutUpdateBtnMessage.java new file mode 100644 index 000000000..b0428469f --- /dev/null +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutUpdateBtnMessage.java @@ -0,0 +1,33 @@ +package me.chanjar.weixin.cp.bean.message; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamConverter; +import lombok.Data; +import lombok.EqualsAndHashCode; +import me.chanjar.weixin.common.api.WxConsts; +import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; +import me.chanjar.weixin.common.util.xml.XStreamMediaIdConverter; +import me.chanjar.weixin.common.util.xml.XStreamReplaceNameConverter; + +import java.io.Serializable; + +/** + * @author nickname263 + * @date 2021-09-23 + */ +@XStreamAlias("xml") +@Data +@EqualsAndHashCode(callSuper = false) +public class WxCpXmlOutUpdateBtnMessage extends WxCpXmlOutMessage { + private static final long serialVersionUID = 976182367423048138L; + @XStreamAlias("Button") + @XStreamConverter(value = XStreamReplaceNameConverter.class) + private String replaceName; + + public WxCpXmlOutUpdateBtnMessage() { + this.msgType = WxConsts.XmlMsgType.UPDATE_BUTTON; + } + + + +} diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/outxmlbuilder/UpdateButtonBuilder.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/outxmlbuilder/UpdateButtonBuilder.java new file mode 100644 index 000000000..d4dd4b04d --- /dev/null +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/outxmlbuilder/UpdateButtonBuilder.java @@ -0,0 +1,29 @@ +package me.chanjar.weixin.cp.bean.outxmlbuilder; + +import me.chanjar.weixin.cp.bean.message.WxCpXmlOutTaskCardMessage; +import me.chanjar.weixin.cp.bean.message.WxCpXmlOutUpdateBtnMessage; + +/** + * 模板卡片更新点击用户的按钮点击文案消息builder + * + * @author nickname263 + */ +public class UpdateButtonBuilder extends BaseBuilder { + + + private String replaceName; + + public UpdateButtonBuilder replaceName(String replaceName) { + this.replaceName = replaceName; + return this; + } + + @Override + public WxCpXmlOutUpdateBtnMessage build() { + WxCpXmlOutUpdateBtnMessage m = new WxCpXmlOutUpdateBtnMessage(); + setCommon(m); + m.setReplaceName(this.replaceName); + return m; + } + +} diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/xml/XStreamTransformer.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/xml/XStreamTransformer.java index aa907b728..421765bc0 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/xml/XStreamTransformer.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/xml/XStreamTransformer.java @@ -54,6 +54,7 @@ public class XStreamTransformer { map.put(WxCpXmlOutVideoMessage.class, configWxCpXmlOutVideoMessage()); map.put(WxCpXmlOutVoiceMessage.class, configWxCpXmlOutVoiceMessage()); map.put(WxCpXmlOutTaskCardMessage.class, configWxCpXmlOutTaskCardMessage()); + map.put(WxCpXmlOutUpdateBtnMessage.class, configWxCpXmlOutUpdateBtnMessage()); map.put(WxCpTpXmlPackage.class, configWxCpTpXmlPackage()); map.put(WxCpTpXmlMessage.class, configWxCpTpXmlMessage()); return map; @@ -119,6 +120,12 @@ public class XStreamTransformer { xstream.processAnnotations(WxCpXmlOutTaskCardMessage.class); return xstream; } + private static XStream configWxCpXmlOutUpdateBtnMessage() { + XStream xstream = XStreamInitializer.getInstance(); + xstream.processAnnotations(WxCpXmlOutMessage.class); + xstream.processAnnotations(WxCpXmlOutUpdateBtnMessage.class); + return xstream; + } private static XStream configWxCpTpXmlPackage() { XStream xstream = XStreamInitializer.getInstance();