diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java index 9f42ffc7..cd86fd0d 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java @@ -1,18 +1,22 @@ package me.chanjar.weixin.mp.bean; +import java.io.IOException; +import java.io.InputStream; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamConverter; + import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; import me.chanjar.weixin.mp.api.WxMpConfigStorage; import me.chanjar.weixin.mp.util.crypto.WxMpCryptUtil; import me.chanjar.weixin.mp.util.xml.XStreamTransformer; -import org.apache.commons.io.IOUtils; - -import java.io.IOException; -import java.io.InputStream; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; /** *
@@ -28,46 +32,48 @@ import java.util.List; @XStreamAlias("xml") public class WxMpXmlMessage implements Serializable { + private static final long serialVersionUID = -3586245291677274914L; + /////////////////////// // 以下都是微信推送过来的消息的xml的element所对应的属性 /////////////////////// @XStreamAlias("ToUserName") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String toUserName; @XStreamAlias("FromUserName") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String fromUserName; @XStreamAlias("CreateTime") private Long createTime; @XStreamAlias("MsgType") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String msgType; @XStreamAlias("Content") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String content; @XStreamAlias("MsgId") private Long msgId; @XStreamAlias("PicUrl") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String picUrl; @XStreamAlias("MediaId") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String mediaId; @XStreamAlias("Format") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String format; @XStreamAlias("ThumbMediaId") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String thumbMediaId; @XStreamAlias("Location_X") @@ -80,31 +86,31 @@ public class WxMpXmlMessage implements Serializable { private Double scale; @XStreamAlias("Label") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String label; @XStreamAlias("Title") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String title; @XStreamAlias("Description") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String description; @XStreamAlias("Url") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String url; @XStreamAlias("Event") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String event; @XStreamAlias("EventKey") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String eventKey; @XStreamAlias("Ticket") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String ticket; @XStreamAlias("Latitude") @@ -117,7 +123,7 @@ public class WxMpXmlMessage implements Serializable { private Double precision; @XStreamAlias("Recognition") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String recognition; /////////////////////////////////////// @@ -127,7 +133,7 @@ public class WxMpXmlMessage implements Serializable { * 群发的结果 */ @XStreamAlias("Status") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String status; /** * group_id下粉丝数;或者openid_list中的粉丝数 @@ -150,26 +156,45 @@ public class WxMpXmlMessage implements Serializable { @XStreamAlias("ErrorCount") private Integer errorCount; + /////////////////////////////////////// + // 客服会话管理相关事件推送 + /////////////////////////////////////// + /** + * 创建或关闭客服会话时的客服帐号 + */ + @XStreamAlias("KfAccount") + private String kfAccount; + /** + * 转接客服会话时的转入客服帐号 + */ + @XStreamAlias("ToKfAccount") + private String toKfAccount; + /** + * 转接客服会话时的转出客服帐号 + */ + @XStreamAlias("FromKfAccount") + private String fromKfAccount; + /////////////////////////////////////// // 卡券相关事件推送 /////////////////////////////////////// @XStreamAlias("CardId") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String cardId; @XStreamAlias("FriendUserName") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String friendUserName; @XStreamAlias("IsGiveByFriend") private Integer isGiveByFriend; // 是否为转赠,1代表是,0代表否 @XStreamAlias("UserCardCode") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String userCardCode; @XStreamAlias("OldUserCardCode") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String oldUserCardCode; @XStreamAlias("OuterId") @@ -185,7 +210,7 @@ public class WxMpXmlMessage implements Serializable { private SendLocationInfo sendLocationInfo = new SendLocationInfo(); public String getToUserName() { - return toUserName; + return this.toUserName; } public void setToUserName(String toUserName) { @@ -193,7 +218,7 @@ public class WxMpXmlMessage implements Serializable { } public Long getCreateTime() { - return createTime; + return this.createTime; } public void setCreateTime(Long createTime) { @@ -215,7 +240,7 @@ public class WxMpXmlMessage implements Serializable { * @return */ public String getMsgType() { - return msgType; + return this.msgType; } /** @@ -236,7 +261,7 @@ public class WxMpXmlMessage implements Serializable { } public String getContent() { - return content; + return this.content; } public void setContent(String content) { @@ -244,7 +269,7 @@ public class WxMpXmlMessage implements Serializable { } public Long getMsgId() { - return msgId; + return this.msgId; } public void setMsgId(Long msgId) { @@ -252,7 +277,7 @@ public class WxMpXmlMessage implements Serializable { } public String getPicUrl() { - return picUrl; + return this.picUrl; } public void setPicUrl(String picUrl) { @@ -260,7 +285,7 @@ public class WxMpXmlMessage implements Serializable { } public String getMediaId() { - return mediaId; + return this.mediaId; } public void setMediaId(String mediaId) { @@ -268,7 +293,7 @@ public class WxMpXmlMessage implements Serializable { } public String getFormat() { - return format; + return this.format; } public void setFormat(String format) { @@ -276,7 +301,7 @@ public class WxMpXmlMessage implements Serializable { } public String getThumbMediaId() { - return thumbMediaId; + return this.thumbMediaId; } public void setThumbMediaId(String thumbMediaId) { @@ -284,7 +309,7 @@ public class WxMpXmlMessage implements Serializable { } public Double getLocationX() { - return locationX; + return this.locationX; } public void setLocationX(Double locationX) { @@ -292,7 +317,7 @@ public class WxMpXmlMessage implements Serializable { } public Double getLocationY() { - return locationY; + return this.locationY; } public void setLocationY(Double locationY) { @@ -300,7 +325,7 @@ public class WxMpXmlMessage implements Serializable { } public Double getScale() { - return scale; + return this.scale; } public void setScale(Double scale) { @@ -308,7 +333,7 @@ public class WxMpXmlMessage implements Serializable { } public String getLabel() { - return label; + return this.label; } public void setLabel(String label) { @@ -316,7 +341,7 @@ public class WxMpXmlMessage implements Serializable { } public String getTitle() { - return title; + return this.title; } public void setTitle(String title) { @@ -324,7 +349,7 @@ public class WxMpXmlMessage implements Serializable { } public String getDescription() { - return description; + return this.description; } public void setDescription(String description) { @@ -332,7 +357,7 @@ public class WxMpXmlMessage implements Serializable { } public String getUrl() { - return url; + return this.url; } public void setUrl(String url) { @@ -340,7 +365,7 @@ public class WxMpXmlMessage implements Serializable { } public String getEvent() { - return event; + return this.event; } public void setEvent(String event) { @@ -348,7 +373,7 @@ public class WxMpXmlMessage implements Serializable { } public String getEventKey() { - return eventKey; + return this.eventKey; } public void setEventKey(String eventKey) { @@ -356,7 +381,7 @@ public class WxMpXmlMessage implements Serializable { } public String getTicket() { - return ticket; + return this.ticket; } public void setTicket(String ticket) { @@ -364,7 +389,7 @@ public class WxMpXmlMessage implements Serializable { } public Double getLatitude() { - return latitude; + return this.latitude; } public void setLatitude(Double latitude) { @@ -372,7 +397,7 @@ public class WxMpXmlMessage implements Serializable { } public Double getLongitude() { - return longitude; + return this.longitude; } public void setLongitude(Double longitude) { @@ -380,7 +405,7 @@ public class WxMpXmlMessage implements Serializable { } public Double getPrecision() { - return precision; + return this.precision; } public void setPrecision(Double precision) { @@ -388,7 +413,7 @@ public class WxMpXmlMessage implements Serializable { } public String getRecognition() { - return recognition; + return this.recognition; } public void setRecognition(String recognition) { @@ -396,7 +421,7 @@ public class WxMpXmlMessage implements Serializable { } public String getFromUserName() { - return fromUserName; + return this.fromUserName; } public void setFromUserName(String fromUserName) { @@ -421,28 +446,28 @@ public class WxMpXmlMessage implements Serializable { * @param msgSignature * @return */ - public static WxMpXmlMessage fromEncryptedXml( - String encryptedXml, - WxMpConfigStorage wxMpConfigStorage, - String timestamp, String nonce, String msgSignature) { + public static WxMpXmlMessage fromEncryptedXml(String encryptedXml, + WxMpConfigStorage wxMpConfigStorage, String timestamp, String nonce, + String msgSignature) { WxMpCryptUtil cryptUtil = new WxMpCryptUtil(wxMpConfigStorage); - String plainText = cryptUtil.decrypt(msgSignature, timestamp, nonce, encryptedXml); + String plainText = cryptUtil.decrypt(msgSignature, timestamp, nonce, + encryptedXml); return fromXml(plainText); } - public static WxMpXmlMessage fromEncryptedXml( - InputStream is, - WxMpConfigStorage wxMpConfigStorage, - String timestamp, String nonce, String msgSignature) { + public static WxMpXmlMessage fromEncryptedXml(InputStream is, + WxMpConfigStorage wxMpConfigStorage, String timestamp, String nonce, + String msgSignature) { try { - return fromEncryptedXml(IOUtils.toString(is, "UTF-8"), wxMpConfigStorage, timestamp, nonce, msgSignature); + return fromEncryptedXml(IOUtils.toString(is, "UTF-8"), wxMpConfigStorage, + timestamp, nonce, msgSignature); } catch (IOException e) { throw new RuntimeException(e); } } public String getStatus() { - return status; + return this.status; } public void setStatus(String status) { @@ -450,7 +475,7 @@ public class WxMpXmlMessage implements Serializable { } public Integer getTotalCount() { - return totalCount; + return this.totalCount; } public void setTotalCount(Integer totalCount) { @@ -458,7 +483,7 @@ public class WxMpXmlMessage implements Serializable { } public Integer getFilterCount() { - return filterCount; + return this.filterCount; } public void setFilterCount(Integer filterCount) { @@ -466,7 +491,7 @@ public class WxMpXmlMessage implements Serializable { } public Integer getSentCount() { - return sentCount; + return this.sentCount; } public void setSentCount(Integer sentCount) { @@ -474,7 +499,7 @@ public class WxMpXmlMessage implements Serializable { } public Integer getErrorCount() { - return errorCount; + return this.errorCount; } public void setErrorCount(Integer errorCount) { @@ -482,7 +507,7 @@ public class WxMpXmlMessage implements Serializable { } public String getCardId() { - return cardId; + return this.cardId; } public void setCardId(String cardId) { @@ -490,7 +515,7 @@ public class WxMpXmlMessage implements Serializable { } public String getFriendUserName() { - return friendUserName; + return this.friendUserName; } public void setFriendUserName(String friendUserName) { @@ -498,7 +523,7 @@ public class WxMpXmlMessage implements Serializable { } public Integer getIsGiveByFriend() { - return isGiveByFriend; + return this.isGiveByFriend; } public void setIsGiveByFriend(Integer isGiveByFriend) { @@ -506,7 +531,7 @@ public class WxMpXmlMessage implements Serializable { } public String getUserCardCode() { - return userCardCode; + return this.userCardCode; } public void setUserCardCode(String userCardCode) { @@ -514,7 +539,7 @@ public class WxMpXmlMessage implements Serializable { } public String getOldUserCardCode() { - return oldUserCardCode; + return this.oldUserCardCode; } public void setOldUserCardCode(String oldUserCardCode) { @@ -522,7 +547,7 @@ public class WxMpXmlMessage implements Serializable { } public Integer getOuterId() { - return outerId; + return this.outerId; } public void setOuterId(Integer outerId) { @@ -530,7 +555,7 @@ public class WxMpXmlMessage implements Serializable { } public WxMpXmlMessage.ScanCodeInfo getScanCodeInfo() { - return scanCodeInfo; + return this.scanCodeInfo; } public void setScanCodeInfo(WxMpXmlMessage.ScanCodeInfo scanCodeInfo) { @@ -538,7 +563,7 @@ public class WxMpXmlMessage implements Serializable { } public WxMpXmlMessage.SendPicsInfo getSendPicsInfo() { - return sendPicsInfo; + return this.sendPicsInfo; } public void setSendPicsInfo(WxMpXmlMessage.SendPicsInfo sendPicsInfo) { @@ -546,22 +571,51 @@ public class WxMpXmlMessage implements Serializable { } public WxMpXmlMessage.SendLocationInfo getSendLocationInfo() { - return sendLocationInfo; + return this.sendLocationInfo; } - public void setSendLocationInfo(WxMpXmlMessage.SendLocationInfo sendLocationInfo) { + public void setSendLocationInfo( + WxMpXmlMessage.SendLocationInfo sendLocationInfo) { this.sendLocationInfo = sendLocationInfo; } + public String getKfAccount() { + return this.kfAccount; + } + + public void setKfAccount(String kfAccount) { + this.kfAccount = kfAccount; + } + + public String getToKfAccount() { + return this.toKfAccount; + } + + public void setToKfAccount(String toKfAccount) { + this.toKfAccount = toKfAccount; + } + + public String getFromKfAccount() { + return this.fromKfAccount; + } + + public void setFromKfAccount(String fromKfAccount) { + this.fromKfAccount = fromKfAccount; + } + @XStreamAlias("ScanCodeInfo") public static class ScanCodeInfo { + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE); + } @XStreamAlias("ScanType") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String scanType; @XStreamAlias("ScanResult") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String scanResult; /** @@ -570,7 +624,7 @@ public class WxMpXmlMessage implements Serializable { */ public String getScanType() { - return scanType; + return this.scanType; } public void setScanType(String scanType) { @@ -582,7 +636,7 @@ public class WxMpXmlMessage implements Serializable { * @return */ public String getScanResult() { - return scanResult; + return this.scanResult; } public void setScanResult(String scanResult) { @@ -593,15 +647,19 @@ public class WxMpXmlMessage implements Serializable { @XStreamAlias("SendPicsInfo") public static class SendPicsInfo { + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE); + } @XStreamAlias("Count") private Long count; @XStreamAlias("PicList") - protected final List- picList = new ArrayList
- (); + protected final List
- picList = new ArrayList<>(); public Long getCount() { - return count; + return this.count; } public void setCount(Long count) { @@ -609,18 +667,23 @@ public class WxMpXmlMessage implements Serializable { } public List
- getPicList() { - return picList; + return this.picList; } @XStreamAlias("item") public static class Item { + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, + ToStringStyle.JSON_STYLE); + } @XStreamAlias("PicMd5Sum") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String picMd5Sum; public String getPicMd5Sum() { - return picMd5Sum; + return this.picMd5Sum; } public void setPicMd5Sum(String picMd5Sum) { @@ -633,27 +696,32 @@ public class WxMpXmlMessage implements Serializable { public static class SendLocationInfo { @XStreamAlias("Location_X") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String locationX; @XStreamAlias("Location_Y") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String locationY; @XStreamAlias("Scale") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String scale; @XStreamAlias("Label") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String label; @XStreamAlias("Poiname") - @XStreamConverter(value=XStreamCDataConverter.class) + @XStreamConverter(value = XStreamCDataConverter.class) private String poiname; + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE); + } + public String getLocationX() { - return locationX; + return this.locationX; } public void setLocationX(String locationX) { @@ -661,7 +729,7 @@ public class WxMpXmlMessage implements Serializable { } public String getLocationY() { - return locationY; + return this.locationY; } public void setLocationY(String locationY) { @@ -669,7 +737,7 @@ public class WxMpXmlMessage implements Serializable { } public String getScale() { - return scale; + return this.scale; } public void setScale(String scale) { @@ -677,7 +745,7 @@ public class WxMpXmlMessage implements Serializable { } public String getLabel() { - return label; + return this.label; } public void setLabel(String label) { @@ -685,7 +753,7 @@ public class WxMpXmlMessage implements Serializable { } public String getPoiname() { - return poiname; + return this.poiname; } public void setPoiname(String poiname) { @@ -695,44 +763,6 @@ public class WxMpXmlMessage implements Serializable { @Override public String toString() { - return "WxMpXmlMessage{" + - "toUserName='" + toUserName + '\'' + - ", fromUserName='" + fromUserName + '\'' + - ", createTime=" + createTime + - ", msgType='" + msgType + '\'' + - ", content='" + content + '\'' + - ", msgId=" + msgId + - ", picUrl='" + picUrl + '\'' + - ", mediaId='" + mediaId + '\'' + - ", format='" + format + '\'' + - ", thumbMediaId='" + thumbMediaId + '\'' + - ", locationX=" + locationX + - ", locationY=" + locationY + - ", scale=" + scale + - ", label='" + label + '\'' + - ", title='" + title + '\'' + - ", description='" + description + '\'' + - ", url='" + url + '\'' + - ", event='" + event + '\'' + - ", eventKey='" + eventKey + '\'' + - ", ticket='" + ticket + '\'' + - ", latitude=" + latitude + - ", longitude=" + longitude + - ", precision=" + precision + - ", recognition='" + recognition + '\'' + - ", status='" + status + '\'' + - ", totalCount=" + totalCount + - ", filterCount=" + filterCount + - ", sentCount=" + sentCount + - ", errorCount=" + errorCount + - ", cardId='" + cardId + '\'' + - ", isGiveByFriend=" + isGiveByFriend + - ", userCardCode='" + userCardCode + '\'' + - ", oldUserCardCode='" + oldUserCardCode + '\'' + - ", outerId=" + outerId + - ", scanCodeInfo=" + scanCodeInfo + - ", sendPicsInfo=" + sendPicsInfo + - ", sendLocationInfo=" + sendLocationInfo + - '}'; + return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE); } }