🆕 补全消息输出等相关类的 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; 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.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter; import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.Data; import lombok.Data;
@ -13,14 +16,17 @@ import java.util.List;
* @author plw on 2021/9/7 10:39 AM. * @author plw on 2021/9/7 10:39 AM.
* @version 1.0 * @version 1.0
*/ */
@XStreamAlias("ArticleUrlResult")
@Data @Data
@XStreamAlias("ArticleUrlResult")
@JacksonXmlRootElement(localName = "ArticleUrlResult")
public class ArticleUrlResult implements Serializable { public class ArticleUrlResult implements Serializable {
@XStreamAlias("ResultList") @XStreamAlias("ResultList")
@JacksonXmlProperty(localName = "ResultList")
private List<Item> resultList; private List<Item> resultList;
@XStreamAlias("Count") @XStreamAlias("Count")
@JacksonXmlProperty(localName = "Count")
private Long count; private Long count;
@Override @Override
@ -28,15 +34,19 @@ public class ArticleUrlResult implements Serializable {
return WxMpGsonBuilder.create().toJson(this); return WxMpGsonBuilder.create().toJson(this);
} }
@XStreamAlias("item")
@Data @Data
@XStreamAlias("item")
@JacksonXmlRootElement(localName = "item")
public static class Item implements Serializable { public static class Item implements Serializable {
@XStreamAlias("ArticleIdx") @XStreamAlias("ArticleIdx")
@JacksonXmlProperty(localName = "ArticleIdx")
private String articleIdx; private String articleIdx;
@XStreamAlias("ArticleUrl") @XStreamAlias("ArticleUrl")
@XStreamConverter(value = XStreamCDataConverter.class) @XStreamConverter(value = XStreamCDataConverter.class)
@JacksonXmlProperty(localName = "ArticleUrl")
@JacksonXmlCData
private String articleUrl; private String articleUrl;
@Override @Override

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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