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();