All Downloads are FREE. Search and download functionalities are using the official Maven repository.

weixin.popular.bean.message.EventMessage Maven / Gradle / Ivy

Go to download

The weixin-popular is a JAVA SDK for weixin. Weixin web url is https://mp.weixin.qq.com.

There is a newer version: 2.8.32
Show newest version
package weixin.popular.bean.message;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;

import org.w3c.dom.Node;

@XmlRootElement(name="xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class EventMessage {

	//base
	@XmlElement(name="ToUserName")
	private String toUserName; 		//开发者微信号
	
	@XmlElement(name="FromUserName")
	private String fromUserName;	//发送方帐号(一个OpenID)
	
	@XmlElement(name="CreateTime")
	private Integer createTime;		//消息创建时间 (整型)
	
	@XmlElement(name="MsgType")
	private String msgType;			//消息类型,event
	
	@XmlElement(name="Event")
	private String event;			//事件类型,subscribe(订阅)、unsubscribe(取消订阅)

	//----扫描带参数二维码事件,自定义菜单key
	@XmlElement(name="EventKey")
	private String eventKey;		//事件KEY值,qrscene_为前缀,后面为二维码的参数值
	
	
	
	//接收普通消息------------------------------------ START
	@XmlElements({@XmlElement(name="MsgId"),@XmlElement(name="MsgID")})
	private String msgId;			//消息ID号
	//文本
	@XmlElement(name="Content")
	private String content;			//文本消息内容
	//图片
	@XmlElement(name="PicUrl")
	private String picUrl;			//图片消息
	//媒体
	@XmlElement(name="MediaId")
	private String mediaId;			//mediaId 可以调用多媒体文件下载接口拉取数据
	//语音格式
	@XmlElement(name="Format")
	private String format;			//语音格式
	//语音识别
	@XmlElement(name="Recognition")
	private String recognition;		//开通语音识别功能的识别结果
	//视频
	@XmlElement(name="ThumbMediaId")
	private String thumbMediaId;	//视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。
	
	//地理位置-地理位置维度
	@XmlElement(name="Location_X")
	private String location_X;
	
	//地理位置-地理位置经度
	@XmlElement(name="Location_Y")
	private String location_Y;
	
	//地理位置-地图缩放大小
	@XmlElement(name="Scale")
	private String scale;
	
	//地理位置-地理位置信息
	@XmlElement(name="Label")
	private String label;
	
	//链接
	@XmlElement(name="Title")
	private String title;
	@XmlElement(name="Description")
	private String description;
	@XmlElement(name="Url")
	private String url;
	//接收普通消息------------------------------------ END
	
	
	
	
	
	
	
	//接收事件推送------------------------------------ START
	
	//关注/取消关注事件
	
	//二维码的ticket,可用来换取二维码图片
	@XmlElement(name="Ticket")
	private String ticket;			
	
	//----上报地理位置事件
	@XmlElement(name="Latitude")
	private String latitude;		//地理位置纬度
	
	@XmlElement(name="Longitude")
	private String longitude;		//地理位置经度
	
	@XmlElement(name="Precision")
	private String precision;		//地理位置精度
	//接收事件推送------------------------------------ END

	
	
	//群发消息通知------------------------------------ START
	//Event	 事件信息,此处为MASSSENDJOBFINISH
	@XmlElement(name="Status")
	private String status;/**群发的结构,为“send success”或“send fail”或“err(num)”。
							但send success时,也有可能因用户拒收公众号的消息、系统错误等原因造成少量用户接收失败。err(num)是审核失败的具体原因,可能的情况如下:
							err(10001), 涉嫌广告
							err(20001), 涉嫌政治
							err(20004), 涉嫌社会
							err(20002), 涉嫌色情
							err(20006), 涉嫌违法犯罪
							err(20008), 涉嫌欺诈
							err(20013), 涉嫌版权
							err(22000), 涉嫌互推(互相宣传)
							err(21000), 涉嫌其他*/

	@XmlElement(name="TotalCount")
	private Integer totalCount;	//group_id下粉丝数;或者openid_list中的粉丝数

	@XmlElement(name="FilterCount")
	private Integer filterCount;//过滤(过滤是指特定地区、性别的过滤、用户设置拒收的过滤,用户接收已超4条的过滤)后,准备发送的粉丝数,原则上,FilterCount = SentCount + ErrorCount
	
	@XmlElement(name="SentCount")
	private Integer sentCount;//发送成功的粉丝数

	@XmlElement(name="ErrorCount")
	private Integer errorCount;//发送失败的粉丝数
	
	@XmlElement(name="CopyrightCheckResult")
	private CopyrightCheckResult copyrightCheckResult;	//群发消息通知结果
	
	//群发消息通知------------------------------------ END
	
	
	
	
	
	
	//微信认证事件推送-------------------------------- START
	
	@XmlElement(name="ExpiredTime")
	private Integer expiredTime;   //有效期 (整形),指的是时间戳
	
	@XmlElement(name="FailTime")
	private Integer failTime;   //失败发生时间 (整形),时间戳
	
	@XmlElement(name="FailReason")
	private String failReason;   //认证失败的原因
	
	//微信认证事件推送-------------------------------- END
	
	
	
	
	//微信门店审核事件推送-------------------------------- START
	
	@XmlElement(name="UniqId")
	private String uniqId;   //商户自己内部ID,即字段中的sid
	
	@XmlElement(name="PoiId")
	private String poiId;   //微信的门店ID,微信内门店唯一标示ID
	
	@XmlElement(name="Result")
	private String result;   //审核结果,成功succ 或失败fail
	
	@XmlElement(name="Msg")
	private String msg;   //成功的通知信息,或审核失败的驳回理由	
	
	//微信门店审核事件推送-------------------------------- END
	
	
	
	//摇一摇周边事件通知-------------------------------- START
	@XmlElement(name="ChosenBeacon")
	private ChosenBeacon chosenBeacon;   //审核结果,成功succ 或失败fail
	
	@XmlElement(name="AroundBeacons")
	private List aroundBeacons;   //审核结果,成功succ 或失败fail
	
	//摇一摇 周边事件通知-------------------------------- END
	
	
	//摇一摇 红包绑定用户事件通知-------------------------------- START
	@XmlElement(name="LotteryId")
	private String lotteryId;
	
	@XmlElement(name="Money")
	private Integer money;
	
	@XmlElement(name="BindTime")
	private Integer bindTime;
	
	//摇一摇 红包绑定用户事件通知-------------------------------- END
	
	
	//WIFI连网后下发消息-------------------------------- START
	@XmlElement(name="ConnectTime")
	private Integer connectTime;		//连网时间
	
	@XmlElement(name="ExpireTime")
	private Integer expireTime;			//系统保留字段,固定值
	
	@XmlElement(name="VendorId")
	private String vendorId;			//系统保留字段,固定值
	
	@XmlElement(name="ShopId")
	private String shopId;				//门店ID,即shop_id
	
	@XmlElement(name="DeviceNo")
	private String deviceNo;			//连网的设备无线mac地址,对应bssid
	
	//WIFI连网后下发消息-------------------------------- END

	
	//扫一扫事件推送-------------------------------- START
	@XmlElement(name="KeyStandard")
	private String keyStandard;		//商品编码标准
	
	@XmlElement(name="KeyStr")
	private String keyStr;			//商品编码内容
	
	@XmlElement(name="Country")
	private String country;			//用户在微信内设置的国家
	
	@XmlElement(name="Province")
	private String province;		//用户在微信内设置的省份
	
	@XmlElement(name="City")
	private String city;			//用户在微信内设置的城市
	
	@XmlElement(name="Sex")
	private Integer sex;			//用户的性别,1为男性,2为女性,0代表未知
	
	@XmlElement(name="Scene")
	private Integer scene;			//打开商品主页的场景,1为扫码,2为其他打开场景(如会话、收藏或朋友圈)
	
	@XmlElement(name="RegionCode")
	private String regionCode;		//用户的实时地理位置信息(目前只精确到省一级),可在国家统计局网站查到对应明细:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html
	
	@XmlElement(name="ReasonMsg")
	private Integer reasonMsg;		//审核未通过的原因。
	
	//扫一扫事件推送-------------------------------- END
	
	
	/**
	 * 其它未定义XML字段 
	 * @since 2.8.13
	 */
	@XmlAnyElement
	private List otherElements;	//com.sun.org.apache.xerces.internal.dom.ElementNSImpl

	public List getOtherElements() {
		return otherElements;
	}

	public void setOtherElements(List otherElements) {
		this.otherElements = otherElements;
	}
	
	/**
	 * 转换 未定义XML 字段为 Map
	 * @since 2.8.13
	 * @return MAP
	 */
	public Map otherElementsToMap() {
		Map map = new LinkedHashMap();
		if (otherElements != null) {
			for (org.w3c.dom.Element e : otherElements) {
				if (e.hasChildNodes()) {
					if (e.getChildNodes().getLength() == 1
							&& e.getChildNodes().item(0).getNodeType() == Node.TEXT_NODE) {
						map.put(e.getTagName(), e.getTextContent());
					}
				}
			}
		}
		return map;
	}

	public String getToUserName() {
		return toUserName;
	}

	public void setToUserName(String toUserName) {
		this.toUserName = toUserName;
	}

	public String getFromUserName() {
		return fromUserName;
	}

	public void setFromUserName(String fromUserName) {
		this.fromUserName = fromUserName;
	}

	public Integer getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Integer createTime) {
		this.createTime = createTime;
	}

	public String getMsgType() {
		return msgType;
	}

	public void setMsgType(String msgType) {
		this.msgType = msgType;
	}

	public String getEvent() {
		return event;
	}

	public void setEvent(String event) {
		this.event = event;
	}

	public String getEventKey() {
		return eventKey;
	}

	public void setEventKey(String eventKey) {
		this.eventKey = eventKey;
	}

	public String getMsgId() {
		return msgId;
	}

	public void setMsgId(String msgId) {
		this.msgId = msgId;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getPicUrl() {
		return picUrl;
	}

	public void setPicUrl(String picUrl) {
		this.picUrl = picUrl;
	}

	public String getMediaId() {
		return mediaId;
	}

	public void setMediaId(String mediaId) {
		this.mediaId = mediaId;
	}

	public String getFormat() {
		return format;
	}

	public void setFormat(String format) {
		this.format = format;
	}

	public String getRecognition() {
		return recognition;
	}

	public void setRecognition(String recognition) {
		this.recognition = recognition;
	}

	public String getThumbMediaId() {
		return thumbMediaId;
	}

	public void setThumbMediaId(String thumbMediaId) {
		this.thumbMediaId = thumbMediaId;
	}

	public String getLocation_X() {
		return location_X;
	}

	public void setLocation_X(String location_X) {
		this.location_X = location_X;
	}

	public String getLocation_Y() {
		return location_Y;
	}

	public void setLocation_Y(String location_Y) {
		this.location_Y = location_Y;
	}

	public String getScale() {
		return scale;
	}

	public void setScale(String scale) {
		this.scale = scale;
	}

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getTicket() {
		return ticket;
	}

	public void setTicket(String ticket) {
		this.ticket = ticket;
	}

	public String getLatitude() {
		return latitude;
	}

	public void setLatitude(String latitude) {
		this.latitude = latitude;
	}

	public String getLongitude() {
		return longitude;
	}

	public void setLongitude(String longitude) {
		this.longitude = longitude;
	}

	public String getPrecision() {
		return precision;
	}

	public void setPrecision(String precision) {
		this.precision = precision;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public Integer getTotalCount() {
		return totalCount;
	}

	public void setTotalCount(Integer totalCount) {
		this.totalCount = totalCount;
	}

	public Integer getFilterCount() {
		return filterCount;
	}

	public void setFilterCount(Integer filterCount) {
		this.filterCount = filterCount;
	}

	public Integer getSentCount() {
		return sentCount;
	}

	public void setSentCount(Integer sentCount) {
		this.sentCount = sentCount;
	}

	public Integer getErrorCount() {
		return errorCount;
	}

	public void setErrorCount(Integer errorCount) {
		this.errorCount = errorCount;
	}

	public Integer getExpiredTime() {
		return expiredTime;
	}

	public void setExpiredTime(Integer expiredTime) {
		this.expiredTime = expiredTime;
	}

	public Integer getFailTime() {
		return failTime;
	}

	public void setFailTime(Integer failTime) {
		this.failTime = failTime;
	}

	public String getFailReason() {
		return failReason;
	}

	public void setFailReason(String failReason) {
		this.failReason = failReason;
	}

	public String getUniqId() {
		return uniqId;
	}

	public void setUniqId(String uniqId) {
		this.uniqId = uniqId;
	}

	public String getPoiId() {
		return poiId;
	}

	public void setPoiId(String poiId) {
		this.poiId = poiId;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public ChosenBeacon getChosenBeacon() {
		return chosenBeacon;
	}

	public void setChosenBeacon(ChosenBeacon chosenBeacon) {
		this.chosenBeacon = chosenBeacon;
	}

	public List getAroundBeacons() {
		return aroundBeacons;
	}

	public void setAroundBeacons(List aroundBeacons) {
		this.aroundBeacons = aroundBeacons;
	}

	public String getLotteryId() {
		return lotteryId;
	}

	public void setLotteryId(String lotteryId) {
		this.lotteryId = lotteryId;
	}

	public Integer getMoney() {
		return money;
	}

	public void setMoney(Integer money) {
		this.money = money;
	}

	public Integer getBindTime() {
		return bindTime;
	}

	public void setBindTime(Integer bindTime) {
		this.bindTime = bindTime;
	}

	public Integer getConnectTime() {
		return connectTime;
	}

	public void setConnectTime(Integer connectTime) {
		this.connectTime = connectTime;
	}

	public Integer getExpireTime() {
		return expireTime;
	}

	public void setExpireTime(Integer expireTime) {
		this.expireTime = expireTime;
	}

	public String getVendorId() {
		return vendorId;
	}

	public void setVendorId(String vendorId) {
		this.vendorId = vendorId;
	}

	public String getShopId() {
		return shopId;
	}

	public void setShopId(String shopId) {
		this.shopId = shopId;
	}

	public String getDeviceNo() {
		return deviceNo;
	}

	public void setDeviceNo(String deviceNo) {
		this.deviceNo = deviceNo;
	}

	public String getKeyStandard() {
		return keyStandard;
	}

	public void setKeyStandard(String keyStandard) {
		this.keyStandard = keyStandard;
	}

	public String getKeyStr() {
		return keyStr;
	}

	public void setKeyStr(String keyStr) {
		this.keyStr = keyStr;
	}

	public String getCountry() {
		return country;
	}

	public void setCountry(String country) {
		this.country = country;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public Integer getSex() {
		return sex;
	}

	public void setSex(Integer sex) {
		this.sex = sex;
	}

	public Integer getScene() {
		return scene;
	}

	public void setScene(Integer scene) {
		this.scene = scene;
	}

	public String getRegionCode() {
		return regionCode;
	}

	public void setRegionCode(String regionCode) {
		this.regionCode = regionCode;
	}

	public Integer getReasonMsg() {
		return reasonMsg;
	}

	public void setReasonMsg(Integer reasonMsg) {
		this.reasonMsg = reasonMsg;
	}
	
	public CopyrightCheckResult getCopyrightCheckResult() {
		return copyrightCheckResult;
	}

	public void setCopyrightCheckResult(CopyrightCheckResult copyrightCheckResult) {
		this.copyrightCheckResult = copyrightCheckResult;
	}
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy