Skip to content

Commit 56d2b5f

Browse files
authored
🆕【企业微信】添加对新的模板卡片更新消息“更新点击用户的按钮点击文案消息”的支持
1 parent cecdace commit 56d2b5f

File tree

5 files changed

+78
-0
lines changed

5 files changed

+78
-0
lines changed

weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public static class XmlMsgType {
4545
public static final String HARDWARE = "hardware";
4646
public static final String TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service";
4747
public static final String UPDATE_TASKCARD = "update_taskcard";
48+
public static final String UPDATE_BUTTON = "update_button";
4849
}
4950

5051
/**

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutMessage.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,14 @@ public static NewsBuilder NEWS() {
7878
public static TaskCardBuilder TASK_CARD() {
7979
return new TaskCardBuilder();
8080
}
81+
82+
/**
83+
* 获得任务卡片消息builder.
84+
*/
85+
public static UpdateButtonBuilder UPDATE_BUTTON() {
86+
return new UpdateButtonBuilder();
87+
}
88+
8189
protected String toXml() {
8290
return XStreamTransformer.toXml((Class) this.getClass(), this);
8391
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package me.chanjar.weixin.cp.bean.message;
2+
3+
import com.thoughtworks.xstream.annotations.XStreamAlias;
4+
import com.thoughtworks.xstream.annotations.XStreamConverter;
5+
import lombok.Data;
6+
import lombok.EqualsAndHashCode;
7+
import me.chanjar.weixin.common.api.WxConsts;
8+
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
9+
import me.chanjar.weixin.common.util.xml.XStreamMediaIdConverter;
10+
import me.chanjar.weixin.common.util.xml.XStreamReplaceNameConverter;
11+
12+
import java.io.Serializable;
13+
14+
/**
15+
* @author nickname263
16+
* @date 2021-09-23
17+
*/
18+
@XStreamAlias("xml")
19+
@Data
20+
@EqualsAndHashCode(callSuper = false)
21+
public class WxCpXmlOutUpdateBtnMessage extends WxCpXmlOutMessage {
22+
private static final long serialVersionUID = 976182367423048138L;
23+
@XStreamAlias("Button")
24+
@XStreamConverter(value = XStreamReplaceNameConverter.class)
25+
private String replaceName;
26+
27+
public WxCpXmlOutUpdateBtnMessage() {
28+
this.msgType = WxConsts.XmlMsgType.UPDATE_BUTTON;
29+
}
30+
31+
32+
33+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package me.chanjar.weixin.cp.bean.outxmlbuilder;
2+
3+
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutTaskCardMessage;
4+
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutUpdateBtnMessage;
5+
6+
/**
7+
* 模板卡片更新点击用户的按钮点击文案消息builder
8+
*
9+
* @author nickname263
10+
*/
11+
public class UpdateButtonBuilder extends BaseBuilder<UpdateButtonBuilder, WxCpXmlOutUpdateBtnMessage> {
12+
13+
14+
private String replaceName;
15+
16+
public UpdateButtonBuilder replaceName(String replaceName) {
17+
this.replaceName = replaceName;
18+
return this;
19+
}
20+
21+
@Override
22+
public WxCpXmlOutUpdateBtnMessage build() {
23+
WxCpXmlOutUpdateBtnMessage m = new WxCpXmlOutUpdateBtnMessage();
24+
setCommon(m);
25+
m.setReplaceName(this.replaceName);
26+
return m;
27+
}
28+
29+
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/xml/XStreamTransformer.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ private static Map<Class, XStream> configXStreamInstance() {
5454
map.put(WxCpXmlOutVideoMessage.class, configWxCpXmlOutVideoMessage());
5555
map.put(WxCpXmlOutVoiceMessage.class, configWxCpXmlOutVoiceMessage());
5656
map.put(WxCpXmlOutTaskCardMessage.class, configWxCpXmlOutTaskCardMessage());
57+
map.put(WxCpXmlOutUpdateBtnMessage.class, configWxCpXmlOutUpdateBtnMessage());
5758
map.put(WxCpTpXmlPackage.class, configWxCpTpXmlPackage());
5859
map.put(WxCpTpXmlMessage.class, configWxCpTpXmlMessage());
5960
return map;
@@ -119,6 +120,12 @@ private static XStream configWxCpXmlOutTaskCardMessage() {
119120
xstream.processAnnotations(WxCpXmlOutTaskCardMessage.class);
120121
return xstream;
121122
}
123+
private static XStream configWxCpXmlOutUpdateBtnMessage() {
124+
XStream xstream = XStreamInitializer.getInstance();
125+
xstream.processAnnotations(WxCpXmlOutMessage.class);
126+
xstream.processAnnotations(WxCpXmlOutUpdateBtnMessage.class);
127+
return xstream;
128+
}
122129

123130
private static XStream configWxCpTpXmlPackage() {
124131
XStream xstream = XStreamInitializer.getInstance();

0 commit comments

Comments
 (0)