Selaa lähdekoodia

#265 几个NewsBuilder支持直接设置Article或Item对象列表

master
Binary Wang 7 vuotta sitten
committed by Binary Wang
vanhempi
commit
33ced3daa2
7 muutettua tiedostoa jossa 46 lisäystä ja 22 poistoa
  1. +8
    -2
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/messagebuilder/MpnewsBuilder.java
  2. +8
    -2
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/messagebuilder/NewsBuilder.java
  3. +8
    -3
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/outxmlbuilder/NewsBuilder.java
  4. +4
    -6
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpMessageTest.java
  5. +8
    -3
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/NewsBuilder.java
  6. +8
    -3
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/outxml/NewsBuilder.java
  7. +2
    -3
      weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/message/WxMpXmlOutNewsMessageTest.java

+ 8
- 2
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/messagebuilder/MpnewsBuilder.java Näytä tiedosto

@@ -5,6 +5,7 @@ import me.chanjar.weixin.cp.bean.WxCpMessage;
import me.chanjar.weixin.cp.bean.article.MpnewsArticle;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
@@ -30,8 +31,13 @@ public final class MpnewsBuilder extends BaseBuilder<MpnewsBuilder> {
return this;
}

public MpnewsBuilder addArticle(MpnewsArticle article) {
this.articles.add(article);
public MpnewsBuilder addArticle(MpnewsArticle... articles) {
Collections.addAll(this.articles, articles);
return this;
}

public MpnewsBuilder articles(List<MpnewsArticle> articles) {
this.articles = articles;
return this;
}



+ 8
- 2
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/messagebuilder/NewsBuilder.java Näytä tiedosto

@@ -5,6 +5,7 @@ import me.chanjar.weixin.cp.bean.WxCpMessage;
import me.chanjar.weixin.cp.bean.article.NewArticle;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
@@ -24,8 +25,13 @@ public final class NewsBuilder extends BaseBuilder<NewsBuilder> {
this.msgType = WxConsts.CUSTOM_MSG_NEWS;
}

public NewsBuilder addArticle(NewArticle article) {
this.articles.add(article);
public NewsBuilder addArticle(NewArticle... articles) {
Collections.addAll(this.articles, articles);
return this;
}

public NewsBuilder articles(List<NewArticle> articles) {
this.articles = articles;
return this;
}



+ 8
- 3
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/outxmlbuilder/NewsBuilder.java Näytä tiedosto

@@ -4,6 +4,7 @@ import me.chanjar.weixin.cp.bean.WxCpXmlOutNewsMessage;
import me.chanjar.weixin.cp.bean.WxCpXmlOutNewsMessage.Item;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
@@ -12,11 +13,15 @@ import java.util.List;
* @author Daniel Qian
*/
public final class NewsBuilder extends BaseBuilder<NewsBuilder, WxCpXmlOutNewsMessage> {
private List<Item> articles = new ArrayList<>();

protected final List<Item> articles = new ArrayList<>();
public NewsBuilder addArticle(Item... items) {
Collections.addAll(this.articles, items);
return this;
}

public NewsBuilder addArticle(Item item) {
this.articles.add(item);
public NewsBuilder articles(List<Item> articles){
this.articles = articles;
return this;
}



+ 4
- 6
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpMessageTest.java Näytä tiedosto

@@ -3,9 +3,9 @@ package me.chanjar.weixin.cp.bean;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.cp.bean.article.MpnewsArticle;
import me.chanjar.weixin.cp.bean.article.NewArticle;
import org.testng.annotations.Test;
import org.testng.annotations.*;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.*;

@Test
public class WxCpMessageTest {
@@ -127,11 +127,9 @@ public class WxCpMessageTest {
.thumbMediaId("thumb")
.build();

WxCpMessage reply = WxCpMessage.MPNEWS().toUser("OPENID").addArticle(article1).addArticle(article2).build();
WxCpMessage reply = WxCpMessage.MPNEWS().toUser("OPENID").addArticle(article1, article2).build();

assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"mpnews\"," +
"\"mpnews\":{\"articles\":[{\"title\":\"Happy Day\",\"thumb_media_id\":\"thumb\",\"author\":\"aaaaaa\",\"content_source_url\":\"nice url\",\"content\":\"hahaha\",\"digest\":\"digest\",\"show_cover_pic\":\"heihei\"}," +
"{\"title\":\"Happy Day\",\"thumb_media_id\":\"thumb\",\"author\":\"aaaaaa\",\"content_source_url\":\"nice url\",\"content\":\"hahaha\",\"digest\":\"digest\",\"show_cover_pic\":\"heihei\"}]}}");
assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"mpnews\",\"safe\":\"0\",\"mpnews\":{\"articles\":[{\"title\":\"Happy Day\",\"thumb_media_id\":\"thumb\",\"author\":\"aaaaaa\",\"content_source_url\":\"nice url\",\"content\":\"hahaha\",\"digest\":\"digest\",\"show_cover_pic\":\"heihei\"},{\"title\":\"Happy Day\",\"thumb_media_id\":\"thumb\",\"author\":\"aaaaaa\",\"content_source_url\":\"nice url\",\"content\":\"hahaha\",\"digest\":\"digest\",\"show_cover_pic\":\"heihei\"}]}}");
}

public void testMpnewsBuild_with_media_id() {


+ 8
- 3
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/NewsBuilder.java Näytä tiedosto

@@ -4,6 +4,7 @@ import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
@@ -16,15 +17,19 @@ import java.util.List;
* @author chanjarster
*/
public final class NewsBuilder extends BaseBuilder<NewsBuilder> {

private List<WxMpKefuMessage.WxArticle> articles = new ArrayList<>();

public NewsBuilder() {
this.msgType = WxConsts.CUSTOM_MSG_NEWS;
}

public NewsBuilder addArticle(WxMpKefuMessage.WxArticle article) {
this.articles.add(article);
public NewsBuilder addArticle(WxMpKefuMessage.WxArticle... articles) {
Collections.addAll(this.articles, articles);
return this;
}

public NewsBuilder articles(List<WxMpKefuMessage.WxArticle> articles) {
this.articles = articles;
return this;
}



+ 8
- 3
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/outxml/NewsBuilder.java Näytä tiedosto

@@ -3,6 +3,7 @@ package me.chanjar.weixin.mp.builder.outxml;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutNewsMessage;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
@@ -11,11 +12,15 @@ import java.util.List;
* @author chanjarster
*/
public final class NewsBuilder extends BaseBuilder<NewsBuilder, WxMpXmlOutNewsMessage> {
private List<WxMpXmlOutNewsMessage.Item> articles = new ArrayList<>();

protected final List<WxMpXmlOutNewsMessage.Item> articles = new ArrayList<>();
public NewsBuilder addArticle(WxMpXmlOutNewsMessage.Item... items) {
Collections.addAll(this.articles, items);
return this;
}

public NewsBuilder addArticle(WxMpXmlOutNewsMessage.Item item) {
this.articles.add(item);
public NewsBuilder articles(List<WxMpXmlOutNewsMessage.Item> articles){
this.articles = articles;
return this;
}



+ 2
- 3
weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/message/WxMpXmlOutNewsMessageTest.java Näytä tiedosto

@@ -54,15 +54,13 @@ public class WxMpXmlOutNewsMessageTest {
WxMpXmlOutNewsMessage m = WxMpXmlOutMessage.NEWS()
.fromUser("fromUser")
.toUser("toUser")
.addArticle(item)
.addArticle(item)
.addArticle(item,item)
.build();
String expected = "<xml>"
+ "<ToUserName><![CDATA[toUser]]></ToUserName>"
+ "<FromUserName><![CDATA[fromUser]]></FromUserName>"
+ "<CreateTime>1122</CreateTime>"
+ "<MsgType><![CDATA[news]]></MsgType>"
+ " <ArticleCount>2</ArticleCount>"
+ " <Articles>"
+ " <item>"
+ " <Title><![CDATA[title]]></Title>"
@@ -77,6 +75,7 @@ public class WxMpXmlOutNewsMessageTest {
+ " <Url><![CDATA[url]]></Url>"
+ " </item>"
+ " </Articles>"
+ " <ArticleCount>2</ArticleCount>"
+ "</xml>";
System.out.println(m.toXml());
Assert.assertEquals(


Ladataan…
Peruuta
Tallenna