ソースを参照

微信消息里增加客服会话管理的三个字段

master
BinaryWang 8年前
コミット
3ab7e66b48
1個のファイルの変更165行の追加135行の削除
  1. +165
    -135
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java

+ 165
- 135
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;

/**
* <pre>
@@ -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<Item> picList = new ArrayList<Item>();
protected final List<Item> 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<Item> 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);
}
}

読み込み中…
キャンセル
保存