Search in sources :

Example 1 with WxMpMaterialNews

use of me.chanjar.weixin.mp.bean.WxMpMaterialNews in project weixin-java-tools by chanjarster.

the class WxMpMaterialAPITest method testGetNewsInfo.

@Test(dependsOnMethods = { "testAddNews" })
public void testGetNewsInfo() throws WxErrorException {
    WxMpMaterialNews wxMpMaterialNewsSingle = wxService.materialNewsInfo(singleNewsMediaId);
    WxMpMaterialNews wxMpMaterialNewsMultiple = wxService.materialNewsInfo(multiNewsMediaId);
    Assert.assertNotNull(wxMpMaterialNewsSingle);
    Assert.assertNotNull(wxMpMaterialNewsMultiple);
}
Also used : WxMpMaterialNews(me.chanjar.weixin.mp.bean.WxMpMaterialNews) Test(org.testng.annotations.Test)

Example 2 with WxMpMaterialNews

use of me.chanjar.weixin.mp.bean.WxMpMaterialNews in project weixin-java-tools by chanjarster.

the class WxMpMaterialAPITest method testAddNews.

@Test(dependsOnMethods = { "testUploadMaterial" })
public void testAddNews() throws WxErrorException {
    // 单图文消息
    WxMpMaterialNews wxMpMaterialNewsSingle = new WxMpMaterialNews();
    WxMpMaterialNews.WxMpMaterialNewsArticle mpMaterialNewsArticleSingle = new WxMpMaterialNews.WxMpMaterialNewsArticle();
    mpMaterialNewsArticleSingle.setAuthor("author");
    mpMaterialNewsArticleSingle.setThumbMediaId(thumbMediaId);
    mpMaterialNewsArticleSingle.setTitle("single title");
    mpMaterialNewsArticleSingle.setContent("single content");
    mpMaterialNewsArticleSingle.setContentSourceUrl("content url");
    mpMaterialNewsArticleSingle.setShowCoverPic(true);
    mpMaterialNewsArticleSingle.setDigest("single news");
    wxMpMaterialNewsSingle.addArticle(mpMaterialNewsArticleSingle);
    // 多图文消息
    WxMpMaterialNews wxMpMaterialNewsMultiple = new WxMpMaterialNews();
    WxMpMaterialNews.WxMpMaterialNewsArticle wxMpMaterialNewsArticleMutiple1 = new WxMpMaterialNews.WxMpMaterialNewsArticle();
    wxMpMaterialNewsArticleMutiple1.setAuthor("author1");
    wxMpMaterialNewsArticleMutiple1.setThumbMediaId(thumbMediaId);
    wxMpMaterialNewsArticleMutiple1.setTitle("multi title1");
    wxMpMaterialNewsArticleMutiple1.setContent("content 1");
    wxMpMaterialNewsArticleMutiple1.setContentSourceUrl("content url");
    wxMpMaterialNewsArticleMutiple1.setShowCoverPic(true);
    wxMpMaterialNewsArticleMutiple1.setDigest("");
    WxMpMaterialNews.WxMpMaterialNewsArticle wxMpMaterialNewsArticleMultiple2 = new WxMpMaterialNews.WxMpMaterialNewsArticle();
    wxMpMaterialNewsArticleMultiple2.setAuthor("author2");
    wxMpMaterialNewsArticleMultiple2.setThumbMediaId(thumbMediaId);
    wxMpMaterialNewsArticleMultiple2.setTitle("multi title2");
    wxMpMaterialNewsArticleMultiple2.setContent("content 2");
    wxMpMaterialNewsArticleMultiple2.setContentSourceUrl("content url");
    wxMpMaterialNewsArticleMultiple2.setShowCoverPic(true);
    wxMpMaterialNewsArticleMultiple2.setDigest("");
    wxMpMaterialNewsMultiple.addArticle(wxMpMaterialNewsArticleMutiple1);
    wxMpMaterialNewsMultiple.addArticle(wxMpMaterialNewsArticleMultiple2);
    WxMpMaterialUploadResult resSingle = wxService.materialNewsUpload(wxMpMaterialNewsSingle);
    singleNewsMediaId = resSingle.getMediaId();
    WxMpMaterialUploadResult resMulti = wxService.materialNewsUpload(wxMpMaterialNewsMultiple);
    multiNewsMediaId = resMulti.getMediaId();
}
Also used : WxMpMaterialNews(me.chanjar.weixin.mp.bean.WxMpMaterialNews) Test(org.testng.annotations.Test)

Example 3 with WxMpMaterialNews

use of me.chanjar.weixin.mp.bean.WxMpMaterialNews in project weixin-java-tools by chanjarster.

the class WxMpMaterialAPITest method testUpdateNewsInfo.

@Test(dependsOnMethods = { "testGetNewsInfo" })
public void testUpdateNewsInfo() throws WxErrorException {
    WxMpMaterialNews wxMpMaterialNewsSingle = wxService.materialNewsInfo(singleNewsMediaId);
    Assert.assertNotNull(wxMpMaterialNewsSingle);
    WxMpMaterialArticleUpdate wxMpMaterialArticleUpdateSingle = new WxMpMaterialArticleUpdate();
    WxMpMaterialNews.WxMpMaterialNewsArticle articleSingle = wxMpMaterialNewsSingle.getArticles().get(0);
    articleSingle.setContent("content single update");
    wxMpMaterialArticleUpdateSingle.setMediaId(singleNewsMediaId);
    wxMpMaterialArticleUpdateSingle.setArticles(articleSingle);
    wxMpMaterialArticleUpdateSingle.setIndex(0);
    boolean resultSingle = wxService.materialNewsUpdate(wxMpMaterialArticleUpdateSingle);
    Assert.assertTrue(resultSingle);
    wxMpMaterialNewsSingle = wxService.materialNewsInfo(singleNewsMediaId);
    Assert.assertNotNull(wxMpMaterialNewsSingle);
    Assert.assertEquals("content single update", wxMpMaterialNewsSingle.getArticles().get(0).getContent());
    WxMpMaterialNews wxMpMaterialNewsMultiple = wxService.materialNewsInfo(multiNewsMediaId);
    Assert.assertNotNull(wxMpMaterialNewsMultiple);
    WxMpMaterialArticleUpdate wxMpMaterialArticleUpdateMulti = new WxMpMaterialArticleUpdate();
    WxMpMaterialNews.WxMpMaterialNewsArticle articleMulti = wxMpMaterialNewsMultiple.getArticles().get(1);
    articleMulti.setContent("content 2 update");
    wxMpMaterialArticleUpdateMulti.setMediaId(multiNewsMediaId);
    wxMpMaterialArticleUpdateMulti.setArticles(articleMulti);
    wxMpMaterialArticleUpdateMulti.setIndex(1);
    boolean resultMulti = wxService.materialNewsUpdate(wxMpMaterialArticleUpdateMulti);
    Assert.assertTrue(resultMulti);
    wxMpMaterialNewsMultiple = wxService.materialNewsInfo(multiNewsMediaId);
    Assert.assertNotNull(wxMpMaterialNewsMultiple);
    Assert.assertEquals("content 2 update", wxMpMaterialNewsMultiple.getArticles().get(1).getContent());
}
Also used : WxMpMaterialArticleUpdate(me.chanjar.weixin.mp.bean.WxMpMaterialArticleUpdate) WxMpMaterialNews(me.chanjar.weixin.mp.bean.WxMpMaterialNews) Test(org.testng.annotations.Test)

Example 4 with WxMpMaterialNews

use of me.chanjar.weixin.mp.bean.WxMpMaterialNews in project weixin-java-tools by chanjarster.

the class WxMpMaterialNewsGsonAdapter method deserialize.

public WxMpMaterialNews deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
    WxMpMaterialNews wxMpMaterialNews = new WxMpMaterialNews();
    JsonObject json = jsonElement.getAsJsonObject();
    if (json.get("news_item") != null && !json.get("news_item").isJsonNull()) {
        JsonArray articles = json.getAsJsonArray("news_item");
        for (JsonElement article1 : articles) {
            JsonObject articleInfo = article1.getAsJsonObject();
            WxMpMaterialNews.WxMpMaterialNewsArticle article = WxMpGsonBuilder.create().fromJson(articleInfo, WxMpMaterialNews.WxMpMaterialNewsArticle.class);
            wxMpMaterialNews.addArticle(article);
        }
    }
    return wxMpMaterialNews;
}
Also used : WxMpMaterialNews(me.chanjar.weixin.mp.bean.WxMpMaterialNews)

Aggregations

WxMpMaterialNews (me.chanjar.weixin.mp.bean.WxMpMaterialNews)4 Test (org.testng.annotations.Test)3 WxMpMaterialArticleUpdate (me.chanjar.weixin.mp.bean.WxMpMaterialArticleUpdate)1