diff --git a/CHANGE.md b/CHANGE.md
index bcb2c085..48ed8bbd 100644
--- a/CHANGE.md
+++ b/CHANGE.md
@@ -226,4 +226,4 @@
+ **weixin4j-qy**: [MediaApi](./weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java)新增批量上传成员和部门接口
- released 1.3
\ No newline at end of file
+ + released 1.3
\ No newline at end of file
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AbstractActionMapping.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AbstractActionMapping.java
index 4dd11936..e3770fd1 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AbstractActionMapping.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AbstractActionMapping.java
@@ -16,12 +16,14 @@ import com.foxinmy.weixin4j.type.MessageType;
* @see
*/
public abstract class AbstractActionMapping implements ActionMapping {
+
+ protected final static String DECOLLATOR = ":";
protected String getMappingKey(String xmlMsg) throws DocumentException {
Document doc = DocumentHelper.parseText(xmlMsg);
String msgType = doc.selectSingleNode("/xml/MsgType").getStringValue();
if (msgType.equalsIgnoreCase(MessageType.event.name())) {
- msgType += "_"
+ msgType += DECOLLATOR
+ doc.selectSingleNode("/xml/Event").getStringValue();
}
return msgType.toLowerCase();
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AnnotationActionMapping.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AnnotationActionMapping.java
index e3f36070..6fa6d425 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AnnotationActionMapping.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AnnotationActionMapping.java
@@ -27,7 +27,8 @@ public class AnnotationActionMapping extends AbstractActionMapping {
actionMap = new HashMap();
Set> weixinActions = ClassUtil.getClasses(actionPackage);
for (Class> clazz : weixinActions) {
- ActionAnnotation action = clazz.getAnnotation(ActionAnnotation.class);
+ ActionAnnotation action = clazz
+ .getAnnotation(ActionAnnotation.class);
if (action == null) {
continue;
}
@@ -41,9 +42,8 @@ public class AnnotationActionMapping extends AbstractActionMapping {
EventType[] eventTypes = action.eventType();
if (eventTypes != null && eventTypes.length > 0) {
for (EventType e : eventTypes) {
- actionMap.put(
- (msgType.name() + "_" + e.name()).toLowerCase(),
- weixinAction);
+ actionMap.put((msgType.name() + DECOLLATOR + e.name())
+ .toLowerCase(), weixinAction);
}
continue;
}
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/HttpRequest.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/HttpRequest.java
index 0de66c86..ec60be66 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/HttpRequest.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/HttpRequest.java
@@ -198,7 +198,6 @@ public class HttpRequest {
.getFirstHeader(HttpHeaders.CONTENT_TYPE);
Header disposition = httpResponse
.getFirstHeader("Content-disposition");
- System.err.println(response.getAsString());
// json
if (contentType.getValue().contains(
ContentType.APPLICATION_JSON.getMimeType())
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/BaseMsg.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/BaseMsg.java
index 805d9312..4997748b 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/BaseMsg.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/BaseMsg.java
@@ -43,10 +43,10 @@ public class BaseMsg implements Serializable {
*/
@XStreamAlias("MsgId")
private long msgId;
- @XStreamAlias("AgentID")
/**
* 企业号独有的应用ID
*/
+ @XStreamAlias("AgentID")
private String agentId;
public BaseMsg() {
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/MessageType.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/MessageType.java
index 90a9bee8..5b5b9eef 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/MessageType.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/MessageType.java
@@ -41,6 +41,12 @@ public enum MessageType {
* @see com.foxinmy.weixin4j.msg.VideoMessage
*/
video(VideoMessage.class),
+ /**
+ * 小视频消息
+ *
+ * @see com.foxinmy.weixin4j.msg.VideoMessage
+ */
+ shortvideo(VideoMessage.class),
/**
* 位置消息
*
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/MessageUtil.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/MessageUtil.java
index b0d90066..96dc5a57 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/MessageUtil.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/MessageUtil.java
@@ -178,7 +178,7 @@ public class MessageUtil {
* @see 普通消息
* @see 事件触发
+ * href="http://mp.weixin.qq.com/wiki/2/5baf56ce4947d35003b86a9805634b1e.html">事件消息
* @see com.foxinmy.weixin4j.type.MessageType
* @see com.feican.weixin.msg.BaeMessage
* @see com.foxinmy.weixin4j.msg.TextMessage
diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java
index 068a60f1..4fef9356 100644
--- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java
+++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java
@@ -347,7 +347,23 @@ public class WeixinProxy {
*
* @param notify
* 客服消息对象
+ * @return 处理结果
+ * @see {@link com.foxinmy.weixin4j.mp.WeixinProxy#sendNotify(NotifyMessage,String) }
* @throws WeixinException
+ */
+ public JsonResult sendNotify(NotifyMessage notify) throws WeixinException {
+ return notifyApi.sendNotify(notify);
+ }
+
+ /**
+ * 发送客服消息(在48小时内不限制发送次数)
+ *
+ * @param notify
+ * 客服消息对象
+ * @param kfAccount
+ * 客服账号 可为空
+ * @throws WeixinException
+ * @return 处理结果
* @see 发送客服消息
* @see com.foxinmy.weixin4j.msg.model.Text
@@ -358,8 +374,9 @@ public class WeixinProxy {
* @see com.foxinmy.weixin4j.msg.model.News
* @see com.foxinmy.weixin4j.mp.api.NotifyApi
*/
- public JsonResult sendNotify(NotifyMessage notify) throws WeixinException {
- return notifyApi.sendNotify(notify);
+ public JsonResult sendNotify(NotifyMessage notify, String kfAccount)
+ throws WeixinException {
+ return notifyApi.sendNotify(notify, kfAccount);
}
/**
diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/NotifyApi.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/NotifyApi.java
index 48d46ac4..157825f3 100644
--- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/NotifyApi.java
+++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/NotifyApi.java
@@ -1,10 +1,14 @@
package com.foxinmy.weixin4j.mp.api;
+import org.apache.commons.lang3.StringUtils;
+
+import com.alibaba.fastjson.JSONObject;
import com.foxinmy.weixin4j.exception.WeixinException;
import com.foxinmy.weixin4j.http.JsonResult;
import com.foxinmy.weixin4j.http.Response;
import com.foxinmy.weixin4j.model.Token;
import com.foxinmy.weixin4j.mp.message.NotifyMessage;
+import com.foxinmy.weixin4j.msg.model.Base;
import com.foxinmy.weixin4j.msg.model.Notifyable;
import com.foxinmy.weixin4j.token.TokenHolder;
@@ -32,7 +36,23 @@ public class NotifyApi extends MpApi {
*
* @param notify
* 客服消息对象
+ * @return 处理结果
+ * @see {@link com.foxinmy.weixin4j.mp.api.NotifyApi#sendNotify(NotifyMessage, String)}
* @throws WeixinException
+ */
+ public JsonResult sendNotify(NotifyMessage notify) throws WeixinException {
+ return sendNotify(notify, null);
+ }
+
+ /**
+ * 发送客服消息(在48小时内不限制发送次数)
+ *
+ * @param notify
+ * 客服消息对象
+ * @param kfAccount
+ * 客服账号 可为空
+ * @throws WeixinException
+ * @return 处理结果
* @see 发送客服消息
* @see com.foxinmy.weixin4j.msg.model.Text
@@ -43,16 +63,28 @@ public class NotifyApi extends MpApi {
* @see com.foxinmy.weixin4j.msg.model.News
* @see com.foxinmy.weixin4j.mp.message.NotifyMessage
*/
- public JsonResult sendNotify(NotifyMessage notify) throws WeixinException {
- if (!(notify.getBox() instanceof Notifyable)) {
+ public JsonResult sendNotify(NotifyMessage notify, String kfAccount)
+ throws WeixinException {
+ Base box = notify.getBox();
+ if (!(box instanceof Notifyable)) {
throw new WeixinException(String.format(
- "%s not implement Notifyable", notify.getBox().getClass()));
+ "%s not implement Notifyable", box.getClass()));
+ }
+ String msgtype = box.getMediaType().name();
+ JSONObject obj = new JSONObject();
+ obj.put("touser", notify.getTouser());
+ obj.put("msgtype", msgtype);
+ obj.put(msgtype, box);
+ if (StringUtils.isNotBlank(kfAccount)) {
+ JSONObject kf = new JSONObject();
+ kf.put("kf_account", kfAccount);
+ obj.put("customservice", kf);
}
String custom_notify_uri = getRequestUri("custom_notify_uri");
Token token = tokenHolder.getToken();
Response response = request.post(
String.format(custom_notify_uri, token.getAccessToken()),
- notify.toJson());
+ obj.toJSONString());
return response.getAsJsonResult();
}
diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/README.md b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/README.md
index a268fc95..1ca6f235 100644
--- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/README.md
+++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/README.md
@@ -26,4 +26,6 @@
* DataApi `数据统计API`
-* OauthApi `oauth授权API`
\ No newline at end of file
+* OauthApi `oauth授权API`
+
+* CashApi `现金API`
\ No newline at end of file
diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/weixin.properties b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/weixin.properties
index 82f6f035..d013aa25 100644
--- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/weixin.properties
+++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/weixin.properties
@@ -149,7 +149,7 @@ datacube_uri={api_base_url}/datacube/%s?access_token=%s
# \u4e0a\u4f20\u6c38\u4e45\u56fe\u6587\u7d20\u6750
material_article_upload_uri={api_cgi_url}/material/add_news?access_token=%s
# \u4e0a\u4f20\u6c38\u4e45\u5a92\u4f53\u7d20\u6750
-material_media_upload_uri={file_base_url}/material/add_material?access_token=%s
+material_media_upload_uri={api_cgi_url}/material/add_material?access_token=%s
# \u4e0b\u8f7d\u6c38\u4e45\u5a92\u4f53\u7d20\u6750
material_media_download_uri={api_cgi_url}/material/get_material?access_token=%s
# \u66f4\u65b0\u6c38\u4e45\u56fe\u6587\u7d20\u6750
diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/message/NotifyMessage.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/message/NotifyMessage.java
index f80db9e2..0cd14e78 100644
--- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/message/NotifyMessage.java
+++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/message/NotifyMessage.java
@@ -2,9 +2,6 @@ package com.foxinmy.weixin4j.mp.message;
import java.io.Serializable;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.annotation.JSONField;
import com.foxinmy.weixin4j.msg.model.Base;
/**
@@ -33,13 +30,8 @@ public class NotifyMessage implements Serializable {
/**
* 消息对象
*/
- @JSONField(name = "%s")
private Base box;
- public NotifyMessage(Base box) {
- this(null, box);
- }
-
public NotifyMessage(String touser, Base box) {
this.touser = touser;
this.box = box;
@@ -61,18 +53,6 @@ public class NotifyMessage implements Serializable {
this.box = box;
}
- /**
- * 客服消息json化
- *
- * @return {"touser": "to","msgtype": "text","text": {"content": "123"}}
- */
- public String toJson() {
- String msgtype = box.getMediaType().name();
- JSONObject obj = (JSONObject) JSON.toJSON(this);
- obj.put("msgtype", msgtype);
- return String.format(obj.toJSONString(), msgtype);
- }
-
@Override
public String toString() {
return "NotifyMessage [touser=" + touser + ", box=" + box + "]";
diff --git a/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/msg/NotifyMsgTest.java b/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/msg/NotifyMsgTest.java
index 10e83ea8..987f7c00 100644
--- a/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/msg/NotifyMsgTest.java
+++ b/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/msg/NotifyMsgTest.java
@@ -24,7 +24,7 @@ import com.foxinmy.weixin4j.type.MediaType;
/**
* 客服消息测试
*
- * @className MessageNotifyTest
+ * @className NotifyMsgTest
* @author jy.hu
* @date 2014年4月10日
* @since JDK 1.7
@@ -42,42 +42,42 @@ public class NotifyMsgTest extends TokenTest {
}
@Test
- public void text() {
+ public void text() throws WeixinException {
NotifyMessage notify = new NotifyMessage("to", new Text("ttt"));
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void image() {
+ public void image() throws WeixinException {
NotifyMessage notify = new NotifyMessage("to", new Image("image"));
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void voice() {
+ public void voice() throws WeixinException {
NotifyMessage notify = new NotifyMessage("to", new Voice("voice"));
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void video() {
+ public void video() throws WeixinException {
NotifyMessage notify = new NotifyMessage("to", new Video("video"));
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void music() {
+ public void music() throws WeixinException {
NotifyMessage notify = new NotifyMessage("to", new Music("music"));
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void news() {
+ public void news() throws WeixinException {
News news = new News();
NotifyMessage notify = new NotifyMessage("to", news);
news.pushArticle("title1", "desc1", "picUrl1", "url1");
news.pushArticle("title2", "desc2", "picUrl2", "url2");
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
diff --git a/weixin4j-mp/weixin4j-mp-server/src/main/java/com/foxinmy/weixin4j/mp/action/ShortvideoAction.java b/weixin4j-mp/weixin4j-mp-server/src/main/java/com/foxinmy/weixin4j/mp/action/ShortvideoAction.java
new file mode 100644
index 00000000..2e9d229a
--- /dev/null
+++ b/weixin4j-mp/weixin4j-mp-server/src/main/java/com/foxinmy/weixin4j/mp/action/ShortvideoAction.java
@@ -0,0 +1,20 @@
+package com.foxinmy.weixin4j.mp.action;
+
+import com.foxinmy.weixin4j.action.DebugAction;
+import com.foxinmy.weixin4j.action.mapping.ActionAnnotation;
+import com.foxinmy.weixin4j.msg.VideoMessage;
+import com.foxinmy.weixin4j.type.MessageType;
+
+/**
+ * 小视频消息处理
+ *
+ * @className ShortvideoAction
+ * @author jy
+ * @date 2015年4月6日
+ * @since JDK 1.7
+ * @see com.foxinmy.weixin4j.msg.VideoMessage
+ */
+@ActionAnnotation(msgType = MessageType.shortvideo)
+public class ShortvideoAction extends DebugAction {
+
+}
diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/NotifyApi.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/NotifyApi.java
index 7b644be5..750fa3ce 100644
--- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/NotifyApi.java
+++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/NotifyApi.java
@@ -1,9 +1,12 @@
package com.foxinmy.weixin4j.qy.api;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.foxinmy.weixin4j.exception.WeixinException;
import com.foxinmy.weixin4j.http.Response;
import com.foxinmy.weixin4j.model.Token;
+import com.foxinmy.weixin4j.msg.model.Base;
+import com.foxinmy.weixin4j.msg.model.Notifyable;
import com.foxinmy.weixin4j.qy.message.NotifyMessage;
import com.foxinmy.weixin4j.token.TokenHolder;
@@ -63,11 +66,20 @@ public class NotifyApi extends QyApi {
* @see com.foxinmy.weixin4j.qy.message.NotifyMessage
*/
public JSONObject sendNotify(NotifyMessage notify) throws WeixinException {
+ Base box = notify.getBox();
+ if (!(box instanceof Notifyable)) {
+ throw new WeixinException(String.format(
+ "%s not implement Notifyable", box.getClass()));
+ }
+ String msgtype = box.getMediaType().name();
+ JSONObject obj = (JSONObject) JSON.toJSON(notify);
+ obj.put("msgtype", msgtype);
+ obj.put(msgtype, box);
String message_send_uri = getRequestUri("message_send_uri");
Token token = tokenHolder.getToken();
Response response = request.post(
String.format(message_send_uri, token.getAccessToken()),
- notify.toJson());
+ obj.toJSONString());
return response.getAsJson();
}
diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/message/NotifyMessage.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/message/NotifyMessage.java
index 1c3918de..8af62891 100644
--- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/message/NotifyMessage.java
+++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/message/NotifyMessage.java
@@ -5,8 +5,6 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.foxinmy.weixin4j.msg.model.Base;
@@ -55,7 +53,7 @@ public class NotifyMessage implements Serializable {
/**
* 消息对象
*/
- @JSONField(name = "%s")
+ @JSONField(serialize = false)
private Base box;
public NotifyMessage(Base box, int agentid) {
@@ -149,20 +147,6 @@ public class NotifyMessage implements Serializable {
this.box = box;
}
- /**
- * 消息json化
- *
- * @return
- * {"image":{"media_id":"123"},"agentid":0,"msgtype":"image","safe":0
- * ,"touser":"@all"}
- */
- public String toJson() {
- String msgtype = box.getMediaType().name();
- JSONObject obj = (JSONObject) JSON.toJSON(this);
- obj.put("msgtype", msgtype);
- return String.format(obj.toJSONString(), msgtype);
- }
-
@Override
public String toString() {
return "NotifyMessage [touser=" + touser + ", toparty=" + toparty
diff --git a/weixin4j-qy/weixin4j-qy-api/src/test/java/com/foxinmy/weixin4j/qy/test/NotifyMsgTest.java b/weixin4j-qy/weixin4j-qy-api/src/test/java/com/foxinmy/weixin4j/qy/test/NotifyMsgTest.java
index bbdb007f..b6f956a4 100644
--- a/weixin4j-qy/weixin4j-qy-api/src/test/java/com/foxinmy/weixin4j/qy/test/NotifyMsgTest.java
+++ b/weixin4j-qy/weixin4j-qy-api/src/test/java/com/foxinmy/weixin4j/qy/test/NotifyMsgTest.java
@@ -36,58 +36,58 @@ public class NotifyMsgTest extends TokenTest {
}
@Test
- public void text() {
+ public void text() throws WeixinException {
NotifyMessage notify = new NotifyMessage(new Text("content"), 0);
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void image() {
+ public void image() throws WeixinException {
NotifyMessage notify = new NotifyMessage(new Image("123"), 0);
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void voice() {
+ public void voice() throws WeixinException {
NotifyMessage notify = new NotifyMessage(new Voice("123"), 0);
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void video() {
+ public void video() throws WeixinException {
NotifyMessage notify = new NotifyMessage(new Video("123"), 0);
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void file() {
+ public void file() throws WeixinException {
File file = new File("file");
NotifyMessage notify = new NotifyMessage(file, 0);
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void news() {
+ public void news() throws WeixinException {
News news = new News();
NotifyMessage notify = new NotifyMessage(news, 0);
news.pushArticle("title1", "desc1", "picUrl1", "url1");
news.pushArticle("title2", "desc2", "picUrl2", "url2");
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
- public void mpnews() {
+ public void mpnews() throws WeixinException {
MpNews news = new MpNews();
NotifyMessage notify = new NotifyMessage(news, 0);
news.pushArticle("thumbMediaId1", "title1", "content1");
news.pushArticle("thumbMediaId2", "title1", "content2");
- System.out.println(notify.toJson());
+ System.out.println(notifyApi.sendNotify(notify));
}
@Test
public void send1() throws WeixinException {
Text text = new Text("this is a text");
- JSONObject result = notifyApi.sendNotify(new NotifyMessage(text, 0));
+ JSONObject result = notifyApi.sendNotify(new NotifyMessage(text, 1));
Assert.assertEquals(0, result.getIntValue("errcode"));
}
}