🆕 补全消息输出等相关类的 jackson 注解(主要是 @JacksonXmlCData)

This commit is contained in:
Scruel Tao 2021-12-08 14:50:44 +08:00 committed by GitHub
parent f2ac81ef5e
commit 05fd45b853
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 242 additions and 82 deletions

View File

@ -1,5 +1,8 @@
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -13,14 +16,17 @@ import java.util.List;
* @author plw on 2021/9/7 10:39 AM.
* @version 1.0
*/
@XStreamAlias("ArticleUrlResult")
@Data
@XStreamAlias("ArticleUrlResult")
@JacksonXmlRootElement(localName = "ArticleUrlResult")
public class ArticleUrlResult implements Serializable {
@XStreamAlias("ResultList")
@JacksonXmlProperty(localName = "ResultList")
private List<Item> resultList;
@XStreamAlias("Count")
@JacksonXmlProperty(localName = "Count")
private Long count;
@Override
@ -28,15 +34,19 @@ public class ArticleUrlResult implements Serializable {
return WxMpGsonBuilder.create().toJson(this);
}
@XStreamAlias("item")
@Data
@XStreamAlias("item")
@JacksonXmlRootElement(localName = "item")
public static class Item implements Serializable {
@XStreamAlias("ArticleIdx")
@JacksonXmlProperty(localName = "ArticleIdx")
private String articleIdx;
@XStreamAlias("ArticleUrl")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "ArticleUrl")
@JacksonXmlCData
private String articleUrl;
@Override

View File

@ -2,6 +2,9 @@ package me.chanjar.weixin.mp.bean.message;
import java.io.Serializable;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -15,8 +18,9 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
*
* @author Binary Wang
*/
@XStreamAlias("HardWare")
@Data
@XStreamAlias("HardWare")
@JacksonXmlRootElement(localName = "HardWare")
public class HardWare implements Serializable {
private static final long serialVersionUID = -1295785297354896461L;
@ -25,12 +29,17 @@ public class HardWare implements Serializable {
*/
@XStreamAlias("MessageView")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "MessageView")
@JacksonXmlCData
private String messageView;
/**
* 消息点击动作目前支持ranklist(点击跳转排行榜)
*/
@XStreamAlias("MessageAction")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "MessageAction")
@JacksonXmlCData
private String messageAction;
@Override

View File

@ -2,6 +2,9 @@ package me.chanjar.weixin.mp.bean.message;
import java.io.Serializable;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -15,8 +18,9 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
*
* @author Binary Wang
*/
@XStreamAlias("ScanCodeInfo")
@Data
@XStreamAlias("ScanCodeInfo")
@JacksonXmlRootElement(localName = "ScanCodeInfo")
public class ScanCodeInfo implements Serializable {
private static final long serialVersionUID = 4745181270645050122L;
@ -25,6 +29,8 @@ public class ScanCodeInfo implements Serializable {
*/
@XStreamAlias("ScanType")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "ScanType")
@JacksonXmlCData
private String scanType;
/**
@ -32,6 +38,8 @@ public class ScanCodeInfo implements Serializable {
*/
@XStreamAlias("ScanResult")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "ScanResult")
@JacksonXmlCData
private String scanResult;
@Override

View File

@ -2,6 +2,9 @@ package me.chanjar.weixin.mp.bean.message;
import java.io.Serializable;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -15,29 +18,40 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
*
* @author Binary Wang
*/
@XStreamAlias("SendLocationInfo")
@Data
@XStreamAlias("SendLocationInfo")
@JacksonXmlRootElement(localName = "SendLocationInfo")
public class SendLocationInfo implements Serializable {
private static final long serialVersionUID = 6633214140499161130L;
@XStreamAlias("Location_X")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Location_X")
@JacksonXmlCData
private String locationX;
@XStreamAlias("Location_Y")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Location_Y")
@JacksonXmlCData
private String locationY;
@XStreamAlias("Scale")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Scale")
@JacksonXmlCData
private String scale;
@XStreamAlias("Label")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Label")
@JacksonXmlCData
private String label;
@XStreamAlias("Poiname")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Poiname")
@JacksonXmlCData
private String poiName;
@Override

View File

@ -4,6 +4,9 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -17,15 +20,18 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
*
* @author Binary Wang
*/
@XStreamAlias("SendPicsInfo")
@Data
@XStreamAlias("SendPicsInfo")
@JacksonXmlRootElement(localName = "SendPicsInfo")
public class SendPicsInfo implements Serializable {
private static final long serialVersionUID = -4572837013294199227L;
@XStreamAlias("PicList")
@JacksonXmlProperty(localName = "PicList")
protected final List<Item> picList = new ArrayList<>();
@XStreamAlias("Count")
@JacksonXmlProperty(localName = "Count")
private Long count;
@Override
@ -33,13 +39,16 @@ public class SendPicsInfo implements Serializable {
return WxMpGsonBuilder.create().toJson(this);
}
@XStreamAlias("item")
@Data
@XStreamAlias("item")
@JacksonXmlRootElement(localName = "item")
public static class Item implements Serializable {
private static final long serialVersionUID = 7706235740094081194L;
@XStreamAlias("PicMd5Sum")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "PicMd5Sum")
@JacksonXmlCData
private String picMd5Sum;
@Override

View File

@ -1,5 +1,6 @@
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@ -49,13 +50,15 @@ public class WxMpXmlMessage implements Serializable {
///////////////////////
@XStreamAlias("ToUserName")
@JacksonXmlProperty(localName = "ToUserName")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "ToUserName")
@JacksonXmlCData
private String toUser;
@XStreamAlias("FromUserName")
@JacksonXmlProperty(localName = "FromUserName")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "FromUserName")
@JacksonXmlCData
private String fromUser;
@XStreamAlias("CreateTime")
@ -63,13 +66,15 @@ public class WxMpXmlMessage implements Serializable {
private Long createTime;
@XStreamAlias("MsgType")
@JacksonXmlProperty(localName = "MsgType")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "MsgType")
@JacksonXmlCData
private String msgType;
@XStreamAlias("Content")
@JacksonXmlProperty(localName = "Content")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Content")
@JacksonXmlCData
private String content;
@XStreamAlias("MenuId")
@ -81,23 +86,27 @@ public class WxMpXmlMessage implements Serializable {
private Long msgId;
@XStreamAlias("PicUrl")
@JacksonXmlProperty(localName = "PicUrl")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "PicUrl")
@JacksonXmlCData
private String picUrl;
@XStreamAlias("MediaId")
@JacksonXmlProperty(localName = "MediaId")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "MediaId")
@JacksonXmlCData
private String mediaId;
@XStreamAlias("Format")
@JacksonXmlProperty(localName = "Format")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Format")
@JacksonXmlCData
private String format;
@XStreamAlias("ThumbMediaId")
@JacksonXmlProperty(localName = "ThumbMediaId")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "ThumbMediaId")
@JacksonXmlCData
private String thumbMediaId;
@XStreamAlias("Location_X")
@ -113,38 +122,45 @@ public class WxMpXmlMessage implements Serializable {
private Double scale;
@XStreamAlias("Label")
@JacksonXmlProperty(localName = "Label")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Label")
@JacksonXmlCData
private String label;
@XStreamAlias("Title")
@JacksonXmlProperty(localName = "Title")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Title")
@JacksonXmlCData
private String title;
@XStreamAlias("Description")
@JacksonXmlProperty(localName = "Description")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Description")
@JacksonXmlCData
private String description;
@XStreamAlias("Url")
@JacksonXmlProperty(localName = "Url")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Url")
@JacksonXmlCData
private String url;
@XStreamAlias("Event")
@JacksonXmlProperty(localName = "Event")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Event")
@JacksonXmlCData
private String event;
@XStreamAlias("EventKey")
@JacksonXmlProperty(localName = "EventKey")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "EventKey")
@JacksonXmlCData
private String eventKey;
@XStreamAlias("Ticket")
@JacksonXmlProperty(localName = "Ticket")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Ticket")
@JacksonXmlCData
private String ticket;
@XStreamAlias("Latitude")
@ -165,8 +181,9 @@ public class WxMpXmlMessage implements Serializable {
private String recognition;
@XStreamAlias("UnionId")
@JacksonXmlProperty(localName = "UnionId")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "UnionId")
@JacksonXmlCData
private String unionId;
///////////////////////////////////////
@ -176,8 +193,9 @@ public class WxMpXmlMessage implements Serializable {
* 群发的结果.
*/
@XStreamAlias("Status")
@JacksonXmlProperty(localName = "Status")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Status")
@JacksonXmlCData
private String status;
/**
* group_id下粉丝数或者openid_list中的粉丝数.
@ -232,13 +250,15 @@ public class WxMpXmlMessage implements Serializable {
///////////////////////////////////////
@XStreamAlias("CardId")
@JacksonXmlProperty(localName = "CardId")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "CardId")
@JacksonXmlCData
private String cardId;
@XStreamAlias("FriendUserName")
@JacksonXmlProperty(localName = "FriendUserName")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "FriendUserName")
@JacksonXmlCData
private String friendUserName;
/**
@ -249,13 +269,15 @@ public class WxMpXmlMessage implements Serializable {
private Integer isGiveByFriend;
@XStreamAlias("UserCardCode")
@JacksonXmlProperty(localName = "UserCardCode")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "UserCardCode")
@JacksonXmlCData
private String userCardCode;
@XStreamAlias("OldUserCardCode")
@JacksonXmlProperty(localName = "OldUserCardCode")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "OldUserCardCode")
@JacksonXmlCData
private String oldUserCardCode;
@XStreamAlias("OuterId")
@ -570,8 +592,9 @@ public class WxMpXmlMessage implements Serializable {
* 订单ID.
*/
@XStreamAlias("OrderId")
@JacksonXmlProperty(localName = "OrderId")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "OrderId")
@JacksonXmlCData
private String orderId;
/**
@ -585,16 +608,18 @@ public class WxMpXmlMessage implements Serializable {
* 商品ID.
*/
@XStreamAlias("ProductId")
@JacksonXmlProperty(localName = "ProductId")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "ProductId")
@JacksonXmlCData
private String productId;
/**
* 商品SKU信息.
*/
@XStreamAlias("SkuInfo")
@JacksonXmlProperty(localName = "SkuInfo")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "SkuInfo")
@JacksonXmlCData
private String skuInfo;
///////////////////////////////////////
@ -605,8 +630,9 @@ public class WxMpXmlMessage implements Serializable {
* 目前为"公众账号原始ID"
*/
@XStreamAlias("DeviceType")
@JacksonXmlProperty(localName = "DeviceType")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "DeviceType")
@JacksonXmlCData
private String deviceType;
/**
@ -614,8 +640,9 @@ public class WxMpXmlMessage implements Serializable {
* 第三方提供
*/
@XStreamAlias("DeviceID")
@JacksonXmlProperty(localName = "DeviceID")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "DeviceID")
@JacksonXmlCData
private String deviceId;
/**
@ -623,16 +650,18 @@ public class WxMpXmlMessage implements Serializable {
* 因此响应中该字段第三方需要原封不变的带回
*/
@XStreamAlias("SessionID")
@JacksonXmlProperty(localName = "SessionID")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "SessionID")
@JacksonXmlCData
private String sessionId;
/**
* 微信用户账号的OpenID.
*/
@XStreamAlias("OpenID")
@JacksonXmlProperty(localName = "OpenID")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "OpenID")
@JacksonXmlCData
private String openId;
@XStreamAlias("HardWare")

View File

@ -1,36 +1,48 @@
package me.chanjar.weixin.mp.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;
@XStreamAlias("xml")
@Data
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutDeviceMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = -3093843149649157587L;
@XStreamAlias("DeviceType")
@XStreamConverter(value = XStreamCDataConverter.class)
private String deviceType;
@XStreamAlias("DeviceID")
@XStreamConverter(value = XStreamCDataConverter.class)
private String deviceId;
@XStreamAlias("Content")
@XStreamConverter(value = XStreamCDataConverter.class)
private String content;
@XStreamAlias("SessionID")
@XStreamConverter(value = XStreamCDataConverter.class)
private String sessionId;
public WxMpXmlOutDeviceMessage() {
this.msgType = WxConsts.XmlMsgType.DEVICE_TEXT;
}
}
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
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;
@Data
@XStreamAlias("xml")
@JacksonXmlRootElement(localName = "xml")
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutDeviceMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = -3093843149649157587L;
@XStreamAlias("DeviceType")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "DeviceType")
@JacksonXmlCData
private String deviceType;
@XStreamAlias("DeviceID")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "DeviceID")
@JacksonXmlCData
private String deviceId;
@XStreamAlias("Content")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Content")
@JacksonXmlCData
private String content;
@XStreamAlias("SessionID")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "SessionID")
@JacksonXmlCData
private String sessionId;
public WxMpXmlOutDeviceMessage() {
this.msgType = WxConsts.XmlMsgType.DEVICE_TEXT;
}
}

View File

@ -1,5 +1,8 @@
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -7,14 +10,17 @@ import lombok.EqualsAndHashCode;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.util.xml.XStreamMediaIdConverter;
@XStreamAlias("xml")
@Data
@XStreamAlias("xml")
@JacksonXmlRootElement(localName = "xml")
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutImageMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = -2684778597067990723L;
@XStreamAlias("Image")
@XStreamConverter(value = XStreamMediaIdConverter.class)
@JacksonXmlProperty(localName = "Image")
@JacksonXmlCData
private String mediaId;
public WxMpXmlOutImageMessage() {

View File

@ -1,5 +1,8 @@
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -9,42 +12,55 @@ import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
import java.io.Serializable;
@XStreamAlias("xml")
@Data
@XStreamAlias("xml")
@JacksonXmlRootElement(localName = "xml")
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutMusicMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = -4159937804975448945L;
@XStreamAlias("Music")
@JacksonXmlProperty(localName = "Music")
protected final Music music = new Music();
public WxMpXmlOutMusicMessage() {
this.msgType = WxConsts.XmlMsgType.MUSIC;
}
@XStreamAlias("Music")
@Data
@XStreamAlias("Music")
@JacksonXmlRootElement(localName = "Music")
public static class Music implements Serializable {
private static final long serialVersionUID = -5492592401691895334L;
@XStreamAlias("Title")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Title")
@JacksonXmlCData
private String title;
@XStreamAlias("Description")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Description")
@JacksonXmlCData
private String description;
@XStreamAlias("ThumbMediaId")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "ThumbMediaId")
@JacksonXmlCData
private String thumbMediaId;
@XStreamAlias("MusicUrl")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "MusicUrl")
@JacksonXmlCData
private String musicUrl;
@XStreamAlias("HQMusicUrl")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "HQMusicUrl")
@JacksonXmlCData
private String hqMusicUrl;
}

View File

@ -4,6 +4,9 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -15,8 +18,9 @@ import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
* 被动回复的图文消息xml.
* @author chanjarster
*/
@XStreamAlias("xml")
@Data
@XStreamAlias("xml")
@JacksonXmlRootElement(localName = "xml")
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutNewsMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = -4604402850905714772L;
@ -26,12 +30,14 @@ public class WxMpXmlOutNewsMessage extends WxMpXmlOutMessage {
* 注意如果图文数超过限制则将只发限制内的条数
*/
@XStreamAlias("Articles")
@JacksonXmlProperty(localName = "Articles")
protected final List<Item> articles = new ArrayList<>();
/**
* 图文消息个数.
* 当用户发送文本图片视频图文地理位置这五种消息时开发者只能回复1条图文消息其余场景最多可回复8条图文消息
*/
@XStreamAlias("ArticleCount")
@JacksonXmlProperty(localName = "ArticleCount")
protected int articleCount;
public WxMpXmlOutNewsMessage() {
@ -43,8 +49,9 @@ public class WxMpXmlOutNewsMessage extends WxMpXmlOutMessage {
this.articleCount = this.articles.size();
}
@XStreamAlias("item")
@Data
@XStreamAlias("item")
@JacksonXmlRootElement(localName = "item")
public static class Item implements Serializable {
private static final long serialVersionUID = -4971456355028904754L;
@ -53,6 +60,8 @@ public class WxMpXmlOutNewsMessage extends WxMpXmlOutMessage {
*/
@XStreamAlias("Title")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Title")
@JacksonXmlCData
private String title;
/**
@ -60,6 +69,8 @@ public class WxMpXmlOutNewsMessage extends WxMpXmlOutMessage {
*/
@XStreamAlias("Description")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Description")
@JacksonXmlCData
private String description;
/**
@ -68,6 +79,8 @@ public class WxMpXmlOutNewsMessage extends WxMpXmlOutMessage {
*/
@XStreamAlias("PicUrl")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "PicUrl")
@JacksonXmlCData
private String picUrl;
/**
@ -75,6 +88,8 @@ public class WxMpXmlOutNewsMessage extends WxMpXmlOutMessage {
*/
@XStreamAlias("Url")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Url")
@JacksonXmlCData
private String url;
}

View File

@ -1,5 +1,8 @@
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -7,14 +10,17 @@ import lombok.EqualsAndHashCode;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
@XStreamAlias("xml")
@Data
@XStreamAlias("xml")
@JacksonXmlRootElement(localName = "xml")
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutTextMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = -3972786455288763361L;
@XStreamAlias("Content")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Content")
@JacksonXmlCData
private String content;
public WxMpXmlOutTextMessage() {

View File

@ -1,5 +1,8 @@
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -9,26 +12,31 @@ import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
import java.io.Serializable;
@XStreamAlias("xml")
@Data
@XStreamAlias("xml")
@JacksonXmlRootElement(localName = "xml")
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutTransferKefuMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = 1850903037285841322L;
@XStreamAlias("TransInfo")
@JacksonXmlProperty(localName = "TransInfo")
protected TransInfo transInfo;
public WxMpXmlOutTransferKefuMessage() {
this.msgType = WxConsts.KefuMsgType.TRANSFER_CUSTOMER_SERVICE;
}
@XStreamAlias("TransInfo")
@Data
@XStreamAlias("TransInfo")
@JacksonXmlRootElement(localName = "TransInfo")
public static class TransInfo implements Serializable {
private static final long serialVersionUID = -6317885617135706056L;
@XStreamAlias("KfAccount")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "KfAccount")
@JacksonXmlCData
private String kfAccount;
}

View File

@ -1,5 +1,8 @@
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -9,34 +12,43 @@ import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
import java.io.Serializable;
@XStreamAlias("xml")
@Data
@XStreamAlias("xml")
@JacksonXmlRootElement(localName = "xml")
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutVideoMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = 1745902309380113978L;
@XStreamAlias("Video")
@JacksonXmlProperty(localName = "Video")
protected final Video video = new Video();
public WxMpXmlOutVideoMessage() {
this.msgType = WxConsts.XmlMsgType.VIDEO;
}
@XStreamAlias("Video")
@Data
@XStreamAlias("Video")
@JacksonXmlRootElement(localName = "Video")
public static class Video implements Serializable {
private static final long serialVersionUID = -6445448977569651183L;
@XStreamAlias("MediaId")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "MediaId")
@JacksonXmlCData
private String mediaId;
@XStreamAlias("Title")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Title")
@JacksonXmlCData
private String title;
@XStreamAlias("Description")
@XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "Description")
@JacksonXmlCData
private String description;
}

View File

@ -1,5 +1,8 @@
package me.chanjar.weixin.mp.bean.message;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data;
@ -7,14 +10,17 @@ import lombok.EqualsAndHashCode;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.util.xml.XStreamMediaIdConverter;
@XStreamAlias("xml")
@Data
@XStreamAlias("xml")
@JacksonXmlRootElement(localName = "xml")
@EqualsAndHashCode(callSuper = true)
public class WxMpXmlOutVoiceMessage extends WxMpXmlOutMessage {
private static final long serialVersionUID = 240367390249860551L;
@XStreamAlias("Voice")
@XStreamConverter(value = XStreamMediaIdConverter.class)
@JacksonXmlProperty(localName = "Voice")
@JacksonXmlCData
private String mediaId;
public WxMpXmlOutVoiceMessage() {