mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-15 02:35:08 +08:00
#265 几个NewsBuilder支持直接设置Article或Item对象列表
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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(
|
||||
|
Reference in New Issue
Block a user