|
|
@@ -1,55 +1,55 @@ |
|
|
|
package me.chanjar.weixin.cp.bean;
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
|
|
|
import com.thoughtworks.xstream.annotations.XStreamConverter;
|
|
|
|
import lombok.Data;
|
|
|
|
import me.chanjar.weixin.common.util.XmlUtils;
|
|
|
|
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
|
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.ImageBuilder;
|
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.NewsBuilder;
|
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.TextBuilder;
|
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.VideoBuilder;
|
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.VoiceBuilder;
|
|
|
|
import me.chanjar.weixin.cp.config.WxCpConfigStorage;
|
|
|
|
import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil;
|
|
|
|
import me.chanjar.weixin.cp.util.xml.XStreamTransformer;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 回调消息包.
|
|
|
|
* https://work.weixin.qq.com/api/doc#90001/90143/91116
|
|
|
|
*
|
|
|
|
* @author zhenjun cai
|
|
|
|
*/
|
|
|
|
@XStreamAlias("xml")
|
|
|
|
@Data
|
|
|
|
public class WxCpTpXmlPackage implements Serializable {
|
|
|
|
|
|
|
|
private static final long serialVersionUID = 6031833682211475786L;
|
|
|
|
/**
|
|
|
|
* 使用dom4j解析的存放所有xml属性和值的map.
|
|
|
|
*/
|
|
|
|
private Map<String, Object> allFieldsMap;
|
|
|
|
|
|
|
|
@XStreamAlias("ToUserName")
|
|
|
|
@XStreamConverter(value = XStreamCDataConverter.class)
|
|
|
|
protected String toUserName;
|
|
|
|
|
|
|
|
@XStreamAlias("AgentID")
|
|
|
|
@XStreamConverter(value = XStreamCDataConverter.class)
|
|
|
|
protected String agentId;
|
|
|
|
|
|
|
|
@XStreamAlias("Encrypt")
|
|
|
|
@XStreamConverter(value = XStreamCDataConverter.class)
|
|
|
|
protected String msgEncrypt;
|
|
|
|
|
|
|
|
public static WxCpTpXmlPackage fromXml(String xml) {
|
|
|
|
//修改微信变态的消息内容格式,方便解析
|
|
|
|
//xml = xml.replace("</PicList><PicList>", "");
|
|
|
|
final WxCpTpXmlPackage xmlPackage = XStreamTransformer.fromXml(WxCpTpXmlPackage.class, xml);
|
|
|
|
xmlPackage.setAllFieldsMap(XmlUtils.xml2Map(xml));
|
|
|
|
return xmlPackage;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
package me.chanjar.weixin.cp.bean; |
|
|
|
|
|
|
|
import java.io.Serializable; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
import com.thoughtworks.xstream.annotations.XStreamAlias; |
|
|
|
import com.thoughtworks.xstream.annotations.XStreamConverter; |
|
|
|
import lombok.Data; |
|
|
|
import me.chanjar.weixin.common.util.XmlUtils; |
|
|
|
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; |
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.ImageBuilder; |
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.NewsBuilder; |
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.TextBuilder; |
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.VideoBuilder; |
|
|
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.VoiceBuilder; |
|
|
|
import me.chanjar.weixin.cp.config.WxCpConfigStorage; |
|
|
|
import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil; |
|
|
|
import me.chanjar.weixin.cp.util.xml.XStreamTransformer; |
|
|
|
|
|
|
|
/** |
|
|
|
* 回调消息包. |
|
|
|
* https://work.weixin.qq.com/api/doc#90001/90143/91116 |
|
|
|
* |
|
|
|
* @author zhenjun cai |
|
|
|
*/ |
|
|
|
@XStreamAlias("xml") |
|
|
|
@Data |
|
|
|
public class WxCpTpXmlPackage implements Serializable { |
|
|
|
private static final long serialVersionUID = 6031833682211475786L; |
|
|
|
|
|
|
|
/** |
|
|
|
* 使用dom4j解析的存放所有xml属性和值的map. |
|
|
|
*/ |
|
|
|
private Map<String, Object> allFieldsMap; |
|
|
|
|
|
|
|
@XStreamAlias("ToUserName") |
|
|
|
@XStreamConverter(value = XStreamCDataConverter.class) |
|
|
|
protected String toUserName; |
|
|
|
|
|
|
|
@XStreamAlias("AgentID") |
|
|
|
@XStreamConverter(value = XStreamCDataConverter.class) |
|
|
|
protected String agentId; |
|
|
|
|
|
|
|
@XStreamAlias("Encrypt") |
|
|
|
@XStreamConverter(value = XStreamCDataConverter.class) |
|
|
|
protected String msgEncrypt; |
|
|
|
|
|
|
|
public static WxCpTpXmlPackage fromXml(String xml) { |
|
|
|
//修改微信变态的消息内容格式,方便解析 |
|
|
|
//xml = xml.replace("</PicList><PicList>", ""); |
|
|
|
final WxCpTpXmlPackage xmlPackage = XStreamTransformer.fromXml(WxCpTpXmlPackage.class, xml); |
|
|
|
xmlPackage.setAllFieldsMap(XmlUtils.xml2Map(xml)); |
|
|
|
return xmlPackage; |
|
|
|
} |
|
|
|
} |