articles;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/MpVideo.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/MpVideo.java
index 60e76462..4600e6f2 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/MpVideo.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/MpVideo.java
@@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.tuple;
import javax.xml.bind.annotation.XmlElement;
+import com.alibaba.fastjson.annotation.JSONCreator;
import com.alibaba.fastjson.annotation.JSONField;
/**
@@ -32,7 +33,8 @@ public class MpVideo implements MassTuple {
@XmlElement(name = "MediaId")
private String mediaId;
- public MpVideo(String mediaId) {
+ @JSONCreator
+ public MpVideo(@JSONField(name = "media_id") String mediaId) {
this.mediaId = mediaId;
}
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Music.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Music.java
index 5dee0a52..de82ba80 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Music.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Music.java
@@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.tuple;
import javax.xml.bind.annotation.XmlElement;
+import com.alibaba.fastjson.annotation.JSONCreator;
import com.alibaba.fastjson.annotation.JSONField;
/**
@@ -39,13 +40,13 @@ public class Music implements NotifyTuple {
/**
* 音乐链接
*/
- @JSONField(name = "musicurl")
+ @JSONField(name = "music_url")
@XmlElement(name = "MusicUrl")
private String musicUrl;
/**
* 高质量音乐链接,WIFI环境优先使用该链接播放音乐
*/
- @JSONField(name = "hqmusicurl")
+ @JSONField(name = "hq_music_url")
@XmlElement(name = "HQMusicUrl")
private String hqMusicUrl;
/**
@@ -55,12 +56,16 @@ public class Music implements NotifyTuple {
@XmlElement(name = "ThumbMediaId")
private String thumbMediaId;
- public Music(String thumbMediaId) {
+ @JSONCreator
+ public Music(@JSONField(name = "thumb_media_id") String thumbMediaId) {
this.thumbMediaId = thumbMediaId;
}
- public Music(String title, String desc, String musicUrl, String hqMusicUrl,
- String thumbMediaId) {
+ public Music(@JSONField(name = "title") String title,
+ @JSONField(name = "description") String desc,
+ @JSONField(name = "music_url") String musicUrl,
+ @JSONField(name = "hq_music_url") String hqMusicUrl,
+ @JSONField(name = "thumb_media_id") String thumbMediaId) {
this.title = title;
this.desc = desc;
this.musicUrl = musicUrl;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Text.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Text.java
index c75744d2..77beabd7 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Text.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Text.java
@@ -1,5 +1,7 @@
package com.foxinmy.weixin4j.tuple;
+import com.alibaba.fastjson.annotation.JSONCreator;
+import com.alibaba.fastjson.annotation.JSONField;
/**
* 文本对象
@@ -27,7 +29,8 @@ public class Text implements MassTuple, NotifyTuple {
*/
private String content;
- public Text(String content) {
+ @JSONCreator
+ public Text(@JSONField(name = "content") String content) {
this.content = content;
}
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Video.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Video.java
index 4e30195f..2b223d6f 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Video.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Video.java
@@ -3,6 +3,7 @@ package com.foxinmy.weixin4j.tuple;
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,19 +51,37 @@ public class Video implements NotifyTuple {
@XmlElement(name = "Description")
private String desc;
- public Video(String mediaId) {
+ @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
+ * @param title
+ * @param desc
+ */
public Video(String mediaId, String title, String desc) {
this(mediaId, null, title, desc);
}
- public Video(String mediaId, String thumbMediaId, String title, String desc) {
+ @JSONCreator
+ public Video(@JSONField(name = "media_id") String mediaId,
+ @JSONField(name = "thumb_media_id") String thumbMediaId,
+ @JSONField(name = "title") String title,
+ @JSONField(name = "description") String desc) {
this.mediaId = mediaId;
this.thumbMediaId = thumbMediaId;
this.title = title;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Voice.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Voice.java
index bdcb4e09..cfa1bec0 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Voice.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Voice.java
@@ -1,5 +1,8 @@
package com.foxinmy.weixin4j.tuple;
+import com.alibaba.fastjson.annotation.JSONCreator;
+import com.alibaba.fastjson.annotation.JSONField;
+
/**
* 语音对象
*
@@ -21,7 +24,8 @@ public class Voice extends Image implements NotifyTuple {
return "voice";
}
- public Voice(String mediaId) {
+ @JSONCreator
+ public Voice(@JSONField(name = "media_id") String mediaId) {
super(mediaId);
}
}
diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/NotifyApi.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/NotifyApi.java
index 6be16a98..58f0344e 100644
--- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/NotifyApi.java
+++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/NotifyApi.java
@@ -65,6 +65,9 @@ public class NotifyApi extends MpApi {
throws WeixinException {
NotifyTuple tuple = notify.getTuple();
String msgtype = tuple.getMessageType();
+ if ("mpnews".equals(msgtype)) {
+ throw new WeixinException("only support news message");
+ }
JSONObject obj = new JSONObject();
obj.put("touser", notify.getTouser());
obj.put("msgtype", msgtype);
diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/message/NotifyMessage.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/message/NotifyMessage.java
index b1ca4bec..871c4cc2 100644
--- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/message/NotifyMessage.java
+++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/message/NotifyMessage.java
@@ -38,10 +38,9 @@ public class NotifyMessage implements Serializable {
/**
* 消息对象
*/
- @JSONField(serialize = false)
private NotifyTuple tuple;
/**
- * id参数
+ * 发送对象
*/
@JSONField(serialize = false)
private IdParameter target;