调整了Tuple消息元件&新增视频上传接口&新增企业好聊天服务接口

This commit is contained in:
jinyu
2015-08-01 10:50:36 +08:00
parent b6b1fd98ea
commit 97dc88d7c7
30 changed files with 655 additions and 146 deletions
@@ -0,0 +1,16 @@
package com.foxinmy.weixin4j.tuple;
/**
* 聊天消息元件
*
* @className ChatTuple
* @author jy
* @date 2015年8月1日
* @since JDK 1.7
* @see com.foxinmy.weixin4j.tuple.Text
* @see com.foxinmy.weixin4j.tuple.Image
* @see com.foxinmy.weixin4j.tuple.File
*/
public interface ChatTuple extends Tuple {
}
@@ -8,7 +8,7 @@ import com.alibaba.fastjson.annotation.JSONField;
/**
* 文件对象
* <p>
* <font color="red">可用于企业号的客服消息」</font>
* <font color="red">可用于企业号的客服消息」及「聊天消息」</font>
* </p>
*
* @className File
@@ -17,7 +17,7 @@ import com.alibaba.fastjson.annotation.JSONField;
* @since JDK 1.7
* @see
*/
public class File implements NotifyTuple {
public class File implements NotifyTuple, ChatTuple {
private static final long serialVersionUID = -8149837316289636110L;
@@ -8,7 +8,7 @@ import com.alibaba.fastjson.annotation.JSONField;
/**
* 图片对象
* <p>
* <font color="red">可用于「客服消息」「群发消息」</font>
* <font color="red">可用于「客服消息」「群发消息」及企业号的「聊天消息」</font>
* </p>
*
* @className Image
@@ -17,7 +17,7 @@ import com.alibaba.fastjson.annotation.JSONField;
* @since JDK 1.7
* @see
*/
public class Image implements MassTuple, NotifyTuple {
public class Image implements MassTuple, NotifyTuple, ChatTuple {
private static final long serialVersionUID = 6928681900960656161L;
@@ -34,7 +34,7 @@ public class Image implements MassTuple, NotifyTuple {
private String mediaId;
@JSONCreator
public Image(@JSONField(name = "media_id")String mediaId) {
public Image(@JSONField(name = "media_id") String mediaId) {
this.mediaId = mediaId;
}
@@ -1,5 +1,6 @@
package com.foxinmy.weixin4j.tuple;
/**
* 群发消息元件
*
@@ -6,6 +6,7 @@ import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import com.alibaba.fastjson.annotation.JSONCreator;
import com.alibaba.fastjson.annotation.JSONField;
/**
@@ -50,7 +51,8 @@ public class MpNews implements MassTuple, NotifyTuple {
this(null);
}
public MpNews(String mediaId) {
@JSONCreator
public MpNews(@JSONField(name = "media_id") String mediaId) {
this.mediaId = mediaId;
this.articles = new LinkedList<MpArticle>();
}
@@ -2,7 +2,6 @@ package com.foxinmy.weixin4j.tuple;
import javax.xml.bind.annotation.XmlElement;
import com.alibaba.fastjson.annotation.JSONCreator;
import com.alibaba.fastjson.annotation.JSONField;
/**
@@ -56,9 +55,8 @@ public class Music implements NotifyTuple {
@XmlElement(name = "ThumbMediaId")
private String thumbMediaId;
@JSONCreator
public Music(@JSONField(name = "thumb_media_id") String thumbMediaId) {
this.thumbMediaId = thumbMediaId;
public Music(String musicUrl, String hqMusicUrl, String thumbMediaId) {
this(null, null, musicUrl, hqMusicUrl, thumbMediaId);
}
public Music(@JSONField(name = "title") String title,
@@ -93,18 +91,10 @@ public class Music implements NotifyTuple {
return musicUrl;
}
public void setMusicUrl(String musicUrl) {
this.musicUrl = musicUrl;
}
public String getHqMusicUrl() {
return hqMusicUrl;
}
public void setHqMusicUrl(String hqMusicUrl) {
this.hqMusicUrl = hqMusicUrl;
}
public String getThumbMediaId() {
return thumbMediaId;
}
@@ -12,7 +12,9 @@ package com.foxinmy.weixin4j.tuple;
* @see com.foxinmy.weixin4j.tuple.Voice
* @see com.foxinmy.weixin4j.tuple.Video
* @see com.foxinmy.weixin4j.tuple.Music
* @see com.foxinmy.weixin4j.tuple.File
* @see com.foxinmy.weixin4j.tuple.News
* @see com.foxinmy.weixin4j.tuple.MpNews
*/
public interface NotifyTuple extends Tuple {
@@ -6,7 +6,7 @@ import com.alibaba.fastjson.annotation.JSONField;
/**
* 文本对象
* <p>
* <font color="red">可用于「客服消息」「群发消息」</font>
* <font color="red">可用于「客服消息」「群发消息」及企业号的「聊天消息」</font>
* </p>
*
* @className Text
@@ -15,7 +15,7 @@ import com.alibaba.fastjson.annotation.JSONField;
* @since JDK 1.7
* @see
*/
public class Text implements MassTuple, NotifyTuple {
public class Text implements MassTuple, NotifyTuple, ChatTuple {
private static final long serialVersionUID = 520050144519064503L;
@@ -51,27 +51,15 @@ public class Video implements NotifyTuple {
@XmlElement(name = "Description")
private String desc;
@JSONCreator
public Video(@JSONField(name = "media_id") String mediaId) {
this.mediaId = mediaId;
}
/**
* 公众平台
*
* @param mediaId
* @param thumbMediaId
*/
public Video(String mediaId, String thumbMediaId) {
this(mediaId, thumbMediaId, null, null);
}
/**
* 企业号 & 公众号群发
* 企业号的视频消息不需要缩略图
*
* @param mediaId
* 视频媒体文件id,可以调用上传临时素材或者永久素材接口获取
* @param title
* 视频标题
* @param desc
* 视频描述
*/
public Video(String mediaId, String title, String desc) {
this(mediaId, null, title, desc);
@@ -96,26 +84,14 @@ public class Video implements NotifyTuple {
return thumbMediaId;
}
public void setThumbMediaId(String thumbMediaId) {
this.thumbMediaId = thumbMediaId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
@Override
public String toString() {
return "Video [thumbMediaId=" + thumbMediaId + ", title=" + title