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