From 3af0a2bebaab76a26b185687e331b04fede6b5a0 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sun, 12 Apr 2020 11:23:13 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#1497=20=E5=BE=AE=E4=BF=A1=E5=85=AC?= =?UTF-8?q?=E4=BC=97=E5=8F=B7=E7=BE=A4=E5=8F=91=E5=9B=BE=E6=96=87=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3=E5=8F=82=E6=95=B0=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E4=BF=9D=E6=8C=81=E8=B7=9F=E6=99=AE=E9=80=9A=E5=8F=91?= =?UTF-8?q?=E9=80=81=E6=8E=A5=E5=8F=A3=E4=B8=80=E8=87=B4=EF=BC=8C=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E9=87=8D=E5=A4=8D=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chanjar/weixin/mp/bean/WxMpMassNews.java | 55 +------------ .../material/WxMpMaterialArticleUpdate.java | 2 +- .../mp/bean/material/WxMpMaterialNews.java | 82 +------------------ .../mp/bean/material/WxMpNewsArticle.java | 82 +++++++++++++++++++ .../weixin/mp/util/json/WxMpGsonBuilder.java | 5 +- .../json/WxMpMassNewsArticleGsonAdapter.java | 70 ---------------- .../mp/util/json/WxMpMassNewsGsonAdapter.java | 7 +- .../WxMpMaterialArticleUpdateGsonAdapter.java | 4 +- .../json/WxMpMaterialNewsGsonAdapter.java | 7 +- ...r.java => WxMpNewsArticleGsonAdapter.java} | 11 ++- .../impl/WxMpMassMessageServiceImplTest.java | 42 +++++----- .../api/impl/WxMpMaterialServiceImplTest.java | 10 +-- 12 files changed, 130 insertions(+), 247 deletions(-) create mode 100644 weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpNewsArticle.java delete mode 100644 weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMassNewsArticleGsonAdapter.java rename weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/{WxMpMaterialNewsArticleGsonAdapter.java => WxMpNewsArticleGsonAdapter.java} (84%) diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java index a2b35b7c..d4cbc046 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import lombok.Data; +import me.chanjar.weixin.mp.bean.material.WxMpNewsArticle; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; /** @@ -16,9 +17,9 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; public class WxMpMassNews implements Serializable { private static final long serialVersionUID = 565937155013581016L; - private List articles = new ArrayList<>(); + private List articles = new ArrayList<>(); - public void addArticle(WxMpMassNewsArticle article) { + public void addArticle(WxMpNewsArticle article) { this.articles.add(article); } @@ -35,54 +36,4 @@ public class WxMpMassNews implements Serializable { return WxMpGsonBuilder.create().toJson(this); } - /** - *
-   * 群发图文消息article.
-   * 1. thumbMediaId  (必填) 图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得
-   * 2. author          图文消息的作者
-   * 3. title           (必填) 图文消息的标题
-   * 4. contentSourceUrl 在图文消息页面点击“阅读原文”后的页面链接
-   * 5. content (必填)  图文消息页面的内容,支持HTML标签
-   * 6. digest          图文消息的描述
-   * 7, showCoverPic  是否显示封面,true为显示,false为不显示
-   * 
- * - * @author chanjarster - */ - @Data - public static class WxMpMassNewsArticle { - /** - * (必填) 图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得. - */ - private String thumbMediaId; - /** - * 图文消息的作者. - */ - private String author; - /** - * (必填) 图文消息的标题. - */ - private String title; - /** - * 在图文消息页面点击“阅读原文”后的页面链接. - */ - private String contentSourceUrl; - /** - * (必填) 图文消息页面的内容,支持HTML标签. - */ - private String content; - /** - * 图文消息的描述. - */ - private String digest; - /** - * 是否显示封面,true为显示,false为不显示. - */ - private boolean showCoverPic; - - @Override - public String toString() { - return WxMpGsonBuilder.create().toJson(this); - } - } } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialArticleUpdate.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialArticleUpdate.java index 13e7701b..04bfc919 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialArticleUpdate.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialArticleUpdate.java @@ -11,7 +11,7 @@ public class WxMpMaterialArticleUpdate implements Serializable { private String mediaId; private int index; - private WxMpMaterialNews.WxMpMaterialNewsArticle articles; + private WxMpNewsArticle articles; public String toJson() { return WxMpGsonBuilder.create().toJson(this); diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialNews.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialNews.java index ba49a1d8..dbb855a5 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialNews.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialNews.java @@ -20,13 +20,13 @@ public class WxMpMaterialNews implements Serializable { private Date createTime; private Date updateTime; - private List articles = new ArrayList<>(); + private List articles = new ArrayList<>(); - public List getArticles() { + public List getArticles() { return this.articles; } - public void addArticle(WxMpMaterialNewsArticle article) { + public void addArticle(WxMpNewsArticle article) { this.articles.add(article); } @@ -43,80 +43,4 @@ public class WxMpMaterialNews implements Serializable { return this.toJson(); } - /** - *
-   * 群发图文消息article.
-   * 1. thumbMediaId  (必填) 图文消息的封面图片素材id(必须是永久mediaID)
-   * 2. author          图文消息的作者
-   * 3. title           (必填) 图文消息的标题
-   * 4. contentSourceUrl 在图文消息页面点击“阅读原文”后的页面链接
-   * 5. content (必填)  图文消息页面的内容,支持HTML标签
-   * 6. digest          图文消息的描述
-   * 7. showCoverPic  是否显示封面,true为显示,false为不显示
-   * 8. url           点击图文消息跳转链接
-   * 9. need_open_comment(新增字段) 否 Uint32 是否打开评论,0不打开,1打开
-   * 10. only_fans_can_comment(新增字段) 否 Uint32 是否粉丝才可评论,0所有人可评论,1粉丝才可评论
-   * 
- * - * @author chanjarster - */ - @Data - public static class WxMpMaterialNewsArticle implements Serializable{ - - private static final long serialVersionUID = -635384661692321171L; - /** - * (必填) 图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得. - */ - private String thumbMediaId; - /** - * 图文消息的封面url. - */ - private String thumbUrl; - /** - * 图文消息的作者. - */ - private String author; - /** - * (必填) 图文消息的标题. - */ - private String title; - /** - * 在图文消息页面点击“阅读原文”后的页面链接. - */ - private String contentSourceUrl; - /** - * (必填) 图文消息页面的内容,支持HTML标签. - */ - private String content; - /** - * 图文消息的描述. - */ - private String digest; - /** - * 是否显示封面,true为显示,false为不显示. - */ - private boolean showCoverPic; - - /** - * 点击图文消息跳转链接. - */ - private String url; - - /** - * need_open_comment - * 是否打开评论,0不打开,1打开. - */ - private Boolean needOpenComment; - - /** - * only_fans_can_comment - * 是否粉丝才可评论,0所有人可评论,1粉丝才可评论. - */ - private Boolean onlyFansCanComment; - - @Override - public String toString() { - return WxMpGsonBuilder.create().toJson(this); - } - } } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpNewsArticle.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpNewsArticle.java new file mode 100644 index 00000000..3e08a94b --- /dev/null +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpNewsArticle.java @@ -0,0 +1,82 @@ +package me.chanjar.weixin.mp.bean.material; + +import lombok.Data; +import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; + +import java.io.Serializable; + +/** + *
+ * 图文消息article.
+ * 1. thumbMediaId  (必填) 图文消息的封面图片素材id(必须是永久mediaID)
+ * 2. author          图文消息的作者
+ * 3. title           (必填) 图文消息的标题
+ * 4. contentSourceUrl 在图文消息页面点击“阅读原文”后的页面链接
+ * 5. content (必填)  图文消息页面的内容,支持HTML标签
+ * 6. digest          图文消息的描述
+ * 7. showCoverPic  是否显示封面,true为显示,false为不显示
+ * 8. url           点击图文消息跳转链接
+ * 9. need_open_comment(新增字段) 否 Uint32 是否打开评论,0不打开,1打开
+ * 10. only_fans_can_comment(新增字段) 否 Uint32 是否粉丝才可评论,0所有人可评论,1粉丝才可评论
+ * 
+ * + * @author chanjarster + */ +@Data +public class WxMpNewsArticle implements Serializable { + private static final long serialVersionUID = -635384661692321171L; + /** + * (必填) 图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得. + */ + private String thumbMediaId; + /** + * 图文消息的封面url. + */ + private String thumbUrl; + /** + * 图文消息的作者. + */ + private String author; + /** + * (必填) 图文消息的标题. + */ + private String title; + /** + * 在图文消息页面点击“阅读原文”后的页面链接. + */ + private String contentSourceUrl; + /** + * (必填) 图文消息页面的内容,支持HTML标签. + */ + private String content; + /** + * 图文消息的描述. + */ + private String digest; + /** + * 是否显示封面,true为显示,false为不显示. + */ + private boolean showCoverPic; + + /** + * 点击图文消息跳转链接. + */ + private String url; + + /** + * need_open_comment + * 是否打开评论,0不打开,1打开. + */ + private Boolean needOpenComment; + + /** + * only_fans_can_comment + * 是否粉丝才可评论,0所有人可评论,1粉丝才可评论. + */ + private Boolean onlyFansCanComment; + + @Override + public String toString() { + return WxMpGsonBuilder.create().toJson(this); + } +} diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java index 1d1ae909..b7a4df93 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java @@ -8,10 +8,10 @@ import me.chanjar.weixin.mp.bean.card.WxMpCardResult; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary; import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; +import me.chanjar.weixin.mp.bean.material.*; import me.chanjar.weixin.mp.bean.membercard.WxMpMemberCardActivateTempInfoResult; import me.chanjar.weixin.mp.bean.membercard.WxMpMemberCardUpdateResult; import me.chanjar.weixin.mp.bean.membercard.WxMpMemberCardUserInfoResult; -import me.chanjar.weixin.mp.bean.material.*; import me.chanjar.weixin.mp.bean.result.*; import me.chanjar.weixin.mp.bean.subscribe.WxMpSubscribeMessage; import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry; @@ -45,11 +45,10 @@ public class WxMpGsonBuilder { INSTANCE.registerTypeAdapter(WxDataCubeUserCumulate.class, new WxMpUserCumulateGsonAdapter()); INSTANCE.registerTypeAdapter(WxMpMaterialUploadResult.class, new WxMpMaterialUploadResultAdapter()); INSTANCE.registerTypeAdapter(WxMpMaterialVideoInfoResult.class, new WxMpMaterialVideoInfoResultAdapter()); - INSTANCE.registerTypeAdapter(WxMpMassNews.WxMpMassNewsArticle.class, new WxMpMassNewsArticleGsonAdapter()); INSTANCE.registerTypeAdapter(WxMpMaterialArticleUpdate.class, new WxMpMaterialArticleUpdateGsonAdapter()); INSTANCE.registerTypeAdapter(WxMpMaterialCountResult.class, new WxMpMaterialCountResultAdapter()); INSTANCE.registerTypeAdapter(WxMpMaterialNews.class, new WxMpMaterialNewsGsonAdapter()); - INSTANCE.registerTypeAdapter(WxMpMaterialNews.WxMpMaterialNewsArticle.class, new WxMpMaterialNewsArticleGsonAdapter()); + INSTANCE.registerTypeAdapter(WxMpNewsArticle.class, new WxMpNewsArticleGsonAdapter()); INSTANCE.registerTypeAdapter(WxMpMaterialNewsBatchGetResult.class, new WxMpMaterialNewsBatchGetGsonAdapter()); INSTANCE.registerTypeAdapter(WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem.class, new WxMpMaterialNewsBatchGetGsonItemAdapter()); INSTANCE.registerTypeAdapter(WxMpMaterialFileBatchGetResult.class, new WxMpMaterialFileBatchGetGsonAdapter()); diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMassNewsArticleGsonAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMassNewsArticleGsonAdapter.java deleted file mode 100644 index 70343de9..00000000 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMassNewsArticleGsonAdapter.java +++ /dev/null @@ -1,70 +0,0 @@ -package me.chanjar.weixin.mp.util.json; - -import com.google.gson.*; -import me.chanjar.weixin.common.util.json.GsonHelper; -import me.chanjar.weixin.mp.bean.WxMpMassNews; -import org.apache.commons.lang3.BooleanUtils; - -import java.lang.reflect.Type; - -/** - * @author codepiano - */ -public class WxMpMassNewsArticleGsonAdapter implements JsonSerializer, JsonDeserializer { - - @Override - public JsonElement serialize(WxMpMassNews.WxMpMassNewsArticle article, Type typeOfSrc, JsonSerializationContext context) { - JsonObject articleJson = new JsonObject(); - - articleJson.addProperty("thumb_media_id", article.getThumbMediaId()); - articleJson.addProperty("title", article.getTitle()); - articleJson.addProperty("content", article.getContent()); - if (null != article.getAuthor()) { - articleJson.addProperty("author", article.getAuthor()); - } - if (null != article.getContentSourceUrl()) { - articleJson.addProperty("content_source_url", article.getContentSourceUrl()); - } - if (null != article.getDigest()) { - articleJson.addProperty("digest", article.getDigest()); - } - articleJson.addProperty("show_cover_pic", article.isShowCoverPic() ? "1" : "0"); - return articleJson; - } - - @Override - public WxMpMassNews.WxMpMassNewsArticle deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { - JsonObject articleInfo = jsonElement.getAsJsonObject(); - WxMpMassNews.WxMpMassNewsArticle article = new WxMpMassNews.WxMpMassNewsArticle(); - - JsonElement title = articleInfo.get("title"); - if (title != null && !title.isJsonNull()) { - article.setTitle(GsonHelper.getAsString(title)); - } - JsonElement content = articleInfo.get("content"); - if (content != null && !content.isJsonNull()) { - article.setContent(GsonHelper.getAsString(content)); - } - JsonElement contentSourceUrl = articleInfo.get("content_source_url"); - if (contentSourceUrl != null && !contentSourceUrl.isJsonNull()) { - article.setContentSourceUrl(GsonHelper.getAsString(contentSourceUrl)); - } - JsonElement author = articleInfo.get("author"); - if (author != null && !author.isJsonNull()) { - article.setAuthor(GsonHelper.getAsString(author)); - } - JsonElement digest = articleInfo.get("digest"); - if (digest != null && !digest.isJsonNull()) { - article.setDigest(GsonHelper.getAsString(digest)); - } - JsonElement thumbMediaId = articleInfo.get("thumb_media_id"); - if (thumbMediaId != null && !thumbMediaId.isJsonNull()) { - article.setThumbMediaId(GsonHelper.getAsString(thumbMediaId)); - } - JsonElement showCoverPic = articleInfo.get("show_cover_pic"); - if (showCoverPic != null && !showCoverPic.isJsonNull()) { - article.setShowCoverPic(BooleanUtils.toBoolean(showCoverPic.getAsInt())); - } - return article; - } -} diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMassNewsGsonAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMassNewsGsonAdapter.java index b780300e..015ad926 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMassNewsGsonAdapter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMassNewsGsonAdapter.java @@ -2,6 +2,7 @@ package me.chanjar.weixin.mp.util.json; import com.google.gson.*; import me.chanjar.weixin.mp.bean.WxMpMassNews; +import me.chanjar.weixin.mp.bean.material.WxMpNewsArticle; import java.lang.reflect.Type; @@ -12,8 +13,8 @@ public class WxMpMassNewsGsonAdapter implements JsonSerializer, Js JsonObject newsJson = new JsonObject(); JsonArray articleJsonArray = new JsonArray(); - for (WxMpMassNews.WxMpMassNewsArticle article : message.getArticles()) { - JsonObject articleJson = WxMpGsonBuilder.create().toJsonTree(article, WxMpMassNews.WxMpMassNewsArticle.class).getAsJsonObject(); + for (WxMpNewsArticle article : message.getArticles()) { + JsonObject articleJson = WxMpGsonBuilder.create().toJsonTree(article, WxMpNewsArticle.class).getAsJsonObject(); articleJsonArray.add(articleJson); } newsJson.add("articles", articleJsonArray); @@ -29,7 +30,7 @@ public class WxMpMassNewsGsonAdapter implements JsonSerializer, Js JsonArray articles = json.getAsJsonArray("articles"); for (JsonElement article1 : articles) { JsonObject articleInfo = article1.getAsJsonObject(); - WxMpMassNews.WxMpMassNewsArticle article = WxMpGsonBuilder.create().fromJson(articleInfo, WxMpMassNews.WxMpMassNewsArticle.class); + WxMpNewsArticle article = WxMpGsonBuilder.create().fromJson(articleInfo, WxMpNewsArticle.class); wxMpMassNews.addArticle(article); } } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMaterialArticleUpdateGsonAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMaterialArticleUpdateGsonAdapter.java index bdbbde56..cb7784e9 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMaterialArticleUpdateGsonAdapter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMaterialArticleUpdateGsonAdapter.java @@ -5,7 +5,7 @@ import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import me.chanjar.weixin.mp.bean.material.WxMpMaterialArticleUpdate; -import me.chanjar.weixin.mp.bean.material.WxMpMaterialNews; +import me.chanjar.weixin.mp.bean.material.WxMpNewsArticle; import java.lang.reflect.Type; @@ -16,7 +16,7 @@ public class WxMpMaterialArticleUpdateGsonAdapter implements JsonSerializer, JsonDeserializer { - +public class WxMpNewsArticleGsonAdapter implements JsonSerializer, JsonDeserializer { @Override - public JsonElement serialize(WxMpMaterialNews.WxMpMaterialNewsArticle article, Type typeOfSrc, JsonSerializationContext context) { + public JsonElement serialize(WxMpNewsArticle article, Type typeOfSrc, JsonSerializationContext context) { JsonObject articleJson = new JsonObject(); articleJson.addProperty("thumb_media_id", article.getThumbMediaId()); @@ -47,9 +46,9 @@ public class WxMpMaterialNewsArticleGsonAdapter implements JsonSerializerHello World"); + massMessage.setContent("测试群发消息\n欢迎欢迎\n换行测试\n超链接:Hello World"); massMessage.getToUsers().add(configProvider.getOpenid()); - WxMpMassSendResult massResult = this.wxService.getMassMessageService() - .massOpenIdsMessageSend(massMessage); + WxMpMassSendResult massResult = this.wxService.getMassMessageService().massOpenIdsMessageSend(massMessage); assertNotNull(massResult); assertNotNull(massResult.getMsgId()); } @@ -51,15 +52,13 @@ public class WxMpMassMessageServiceImplTest { @Test(dataProvider = "massMessages") public void testMediaMassOpenIdsMessageSend(String massMsgType, String mediaId) throws WxErrorException { // 发送群发消息 - TestConfigStorage configProvider = (TestConfigStorage) this.wxService - .getWxMpConfigStorage(); + TestConfigStorage configProvider = (TestConfigStorage) this.wxService.getWxMpConfigStorage(); WxMpMassOpenIdsMessage massMessage = new WxMpMassOpenIdsMessage(); massMessage.setMsgType(massMsgType); massMessage.setMediaId(mediaId); massMessage.getToUsers().add(configProvider.getOpenid()); - WxMpMassSendResult massResult = this.wxService.getMassMessageService() - .massOpenIdsMessageSend(massMessage); + WxMpMassSendResult massResult = this.wxService.getMassMessageService().massOpenIdsMessageSend(massMessage); assertNotNull(massResult); assertNotNull(massResult.getMsgId()); } @@ -68,26 +67,23 @@ public class WxMpMassMessageServiceImplTest { public void testTextMassGroupMessageSend() throws WxErrorException { WxMpMassTagMessage massMessage = new WxMpMassTagMessage(); massMessage.setMsgType(WxConsts.MassMsgType.TEXT); - massMessage.setContent("测试群发消息\n欢迎欢迎,热烈欢迎\n换行测试\n超链接:Hello World"); + massMessage.setContent("测试群发消息\n欢迎欢迎\n换行测试\n超链接:Hello World"); massMessage .setTagId(this.wxService.getUserTagService().tagGet().get(0).getId()); - WxMpMassSendResult massResult = this.wxService.getMassMessageService() - .massGroupMessageSend(massMessage); + WxMpMassSendResult massResult = this.wxService.getMassMessageService().massGroupMessageSend(massMessage); assertNotNull(massResult); assertNotNull(massResult.getMsgId()); } @Test(dataProvider = "massMessages") - public void testMediaMassGroupMessageSend(String massMsgType, String mediaId) - throws WxErrorException { + public void testMediaMassGroupMessageSend(String massMsgType, String mediaId) throws WxErrorException { WxMpMassTagMessage massMessage = new WxMpMassTagMessage(); massMessage.setMsgType(massMsgType); massMessage.setMediaId(mediaId); massMessage.setTagId(this.wxService.getUserTagService().tagGet().get(0).getId()); - WxMpMassSendResult massResult = this.wxService.getMassMessageService() - .massGroupMessageSend(massMessage); + WxMpMassSendResult massResult = this.wxService.getMassMessageService().massGroupMessageSend(massMessage); assertNotNull(massResult); assertNotNull(massResult.getMsgId()); } @@ -155,15 +151,15 @@ public class WxMpMassMessageServiceImplTest { // 上传图文消息 WxMpMassNews news = new WxMpMassNews(); - WxMpMassNews.WxMpMassNewsArticle article1 = new WxMpMassNews.WxMpMassNewsArticle(); + WxMpNewsArticle article1 = new WxMpNewsArticle(); article1.setTitle("标题1"); - article1.setContent("内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1"); + article1.setContent("内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1"); article1.setThumbMediaId(uploadMediaRes.getMediaId()); news.addArticle(article1); - WxMpMassNews.WxMpMassNewsArticle article2 = new WxMpMassNews.WxMpMassNewsArticle(); + WxMpNewsArticle article2 = new WxMpNewsArticle(); article2.setTitle("标题2"); - article2.setContent("内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2"); + article2.setContent("内容2内容2内容2内容2内容2内容2内容2内容2内2内容2内容2内容2内容2内容2内容2内容2内容2内容2"); article2.setThumbMediaId(uploadMediaRes.getMediaId()); article2.setShowCoverPic(true); article2.setAuthor("作者2"); @@ -183,7 +179,7 @@ public class WxMpMassMessageServiceImplTest { @Test public void testMassDelete() throws Exception { - this.wxService.getMassMessageService().delete(1L,2); + this.wxService.getMassMessageService().delete(1L, 2); } } diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMaterialServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMaterialServiceImplTest.java index 6d14b336..707f1df3 100644 --- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMaterialServiceImplTest.java +++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMaterialServiceImplTest.java @@ -103,7 +103,7 @@ public class WxMpMaterialServiceImplTest { public void testAddNews() throws WxErrorException { // 单图文消息 WxMpMaterialNews wxMpMaterialNewsSingle = new WxMpMaterialNews(); - WxMpMaterialNews.WxMpMaterialNewsArticle article = new WxMpMaterialNews.WxMpMaterialNewsArticle(); + WxMpNewsArticle article = new WxMpNewsArticle(); article.setAuthor("author"); article.setThumbMediaId(this.thumbMediaId); article.setTitle("single title"); @@ -115,7 +115,7 @@ public class WxMpMaterialServiceImplTest { // 多图文消息 WxMpMaterialNews wxMpMaterialNewsMultiple = new WxMpMaterialNews(); - WxMpMaterialNews.WxMpMaterialNewsArticle article1 = new WxMpMaterialNews.WxMpMaterialNewsArticle(); + WxMpNewsArticle article1 = new WxMpNewsArticle(); article1.setAuthor("author1"); article1.setThumbMediaId(this.thumbMediaId); article1.setTitle("multi title1"); @@ -124,7 +124,7 @@ public class WxMpMaterialServiceImplTest { article1.setShowCoverPic(true); article1.setDigest(""); - WxMpMaterialNews.WxMpMaterialNewsArticle article2 = new WxMpMaterialNews.WxMpMaterialNewsArticle(); + WxMpNewsArticle article2 = new WxMpNewsArticle(); article2.setAuthor("author2"); article2.setThumbMediaId(this.thumbMediaId); article2.setTitle("multi title2"); @@ -196,7 +196,7 @@ public class WxMpMaterialServiceImplTest { .getMaterialService().materialNewsInfo(this.singleNewsMediaId); assertNotNull(wxMpMaterialNewsSingle); WxMpMaterialArticleUpdate wxMpMaterialArticleUpdateSingle = new WxMpMaterialArticleUpdate(); - WxMpMaterialNews.WxMpMaterialNewsArticle articleSingle = wxMpMaterialNewsSingle.getArticles().get(0); + WxMpNewsArticle articleSingle = wxMpMaterialNewsSingle.getArticles().get(0); articleSingle.setContent("content single update"); wxMpMaterialArticleUpdateSingle.setMediaId(this.singleNewsMediaId); wxMpMaterialArticleUpdateSingle.setArticles(articleSingle); @@ -213,7 +213,7 @@ public class WxMpMaterialServiceImplTest { .getMaterialService().materialNewsInfo(this.multiNewsMediaId); assertNotNull(wxMpMaterialNewsMultiple); WxMpMaterialArticleUpdate wxMpMaterialArticleUpdateMulti = new WxMpMaterialArticleUpdate(); - WxMpMaterialNews.WxMpMaterialNewsArticle articleMulti = wxMpMaterialNewsMultiple.getArticles().get(1); + WxMpNewsArticle articleMulti = wxMpMaterialNewsMultiple.getArticles().get(1); articleMulti.setContent("content 2 update"); wxMpMaterialArticleUpdateMulti.setMediaId(this.multiNewsMediaId); wxMpMaterialArticleUpdateMulti.setArticles(articleMulti);