1
0
mirror of synced 2025-12-21 08:30:11 +08:00

🆕 #2142 【企业微信】被动回复消息内容新增任务卡片格式

This commit is contained in:
arthur0201
2021-06-04 09:33:42 +08:00
committed by GitHub
parent c7c834b450
commit 183bdb2cbe
8 changed files with 130 additions and 13 deletions

View File

@@ -6,11 +6,7 @@ import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
import me.chanjar.weixin.cp.bean.outxmlbuilder.ImageBuilder;
import me.chanjar.weixin.cp.bean.outxmlbuilder.NewsBuilder;
import me.chanjar.weixin.cp.bean.outxmlbuilder.TextBuilder;
import me.chanjar.weixin.cp.bean.outxmlbuilder.VideoBuilder;
import me.chanjar.weixin.cp.bean.outxmlbuilder.VoiceBuilder;
import me.chanjar.weixin.cp.bean.outxmlbuilder.*;
import me.chanjar.weixin.cp.config.WxCpConfigStorage;
import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil;
import me.chanjar.weixin.cp.util.xml.XStreamTransformer;
@@ -76,6 +72,12 @@ public abstract class WxCpXmlOutMessage implements Serializable {
return new NewsBuilder();
}
/**
* 获得任务卡片消息builder.
*/
public static TaskCardBuilder TASK_CARD() {
return new TaskCardBuilder();
}
protected String toXml() {
return XStreamTransformer.toXml((Class) this.getClass(), this);
}

View File

@@ -0,0 +1,24 @@
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.XStreamReplaceNameConverter;
@XStreamAlias("xml")
@Data
@EqualsAndHashCode(callSuper = false)
public class WxCpXmlOutTaskCardMessage extends WxCpXmlOutMessage {
private static final long serialVersionUID = 7028014900972827324L;
@XStreamAlias("TaskCard")
@XStreamConverter(value = XStreamReplaceNameConverter.class)
private String replaceName;
public WxCpXmlOutTaskCardMessage() {
this.msgType = WxConsts.XmlMsgType.UPDATE_TASKCARD;
}
}

View File

@@ -0,0 +1,27 @@
package me.chanjar.weixin.cp.bean.outxmlbuilder;
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutTaskCardMessage;
/**
* 任务卡片消息builder
*
* @author tao zhang
*/
public final class TaskCardBuilder extends BaseBuilder<TaskCardBuilder, WxCpXmlOutTaskCardMessage> {
private String replaceName;
public TaskCardBuilder replaceName(String replaceName) {
this.replaceName = replaceName;
return this;
}
@Override
public WxCpXmlOutTaskCardMessage build() {
WxCpXmlOutTaskCardMessage m = new WxCpXmlOutTaskCardMessage();
setCommon(m);
m.setReplaceName(this.replaceName);
return m;
}
}

View File

@@ -6,15 +6,8 @@ import java.util.Map;
import com.thoughtworks.xstream.XStream;
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
import me.chanjar.weixin.cp.bean.message.WxCpTpXmlMessage;
import me.chanjar.weixin.cp.bean.message.*;
import me.chanjar.weixin.cp.bean.WxCpTpXmlPackage;
import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutImageMessage;
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutNewsMessage;
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutTextMessage;
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutVideoMessage;
import me.chanjar.weixin.cp.bean.message.WxCpXmlOutVoiceMessage;
public class XStreamTransformer {
@@ -60,6 +53,7 @@ public class XStreamTransformer {
map.put(WxCpXmlOutImageMessage.class, configWxCpXmlOutImageMessage());
map.put(WxCpXmlOutVideoMessage.class, configWxCpXmlOutVideoMessage());
map.put(WxCpXmlOutVoiceMessage.class, configWxCpXmlOutVoiceMessage());
map.put(WxCpXmlOutTaskCardMessage.class, configWxCpXmlOutTaskCardMessage());
map.put(WxCpTpXmlPackage.class, configWxCpTpXmlPackage());
map.put(WxCpTpXmlMessage.class, configWxCpTpXmlMessage());
return map;
@@ -118,6 +112,14 @@ public class XStreamTransformer {
return xstream;
}
private static XStream configWxCpXmlOutTaskCardMessage() {
XStream xstream = XStreamInitializer.getInstance();
xstream.processAnnotations(WxCpXmlOutMessage.class);
xstream.processAnnotations(WxCpXmlOutTaskCardMessage.class);
return xstream;
}
private static XStream configWxCpTpXmlPackage() {
XStream xstream = XStreamInitializer.getInstance();
xstream.processAnnotations(WxCpTpXmlPackage.class);