mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 02:28:25 +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
	 Binary Wang
					Binary Wang